Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/video
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2023-01-22 01:27:22 +0300
committerSebastian Dröge <sebastian@centricular.com>2023-01-22 01:59:51 +0300
commit853acfc4fe13f989300278d68f24a70f625b20b4 (patch)
treed864694751a8872f857b6498178e8a65db59330e /video
parent3cd6074a8ea2805dafb3ad9a2e96da91f2d21252 (diff)
dav1d: Don't flush the decoder when draining
This directly discards all frames and it won't be possible to output them anymore. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1056>
Diffstat (limited to 'video')
-rw-r--r--video/dav1d/src/dav1ddec/imp.rs8
1 files changed, 2 insertions, 6 deletions
diff --git a/video/dav1d/src/dav1ddec/imp.rs b/video/dav1d/src/dav1ddec/imp.rs
index 66e430956..c9bad0a99 100644
--- a/video/dav1d/src/dav1ddec/imp.rs
+++ b/video/dav1d/src/dav1ddec/imp.rs
@@ -749,10 +749,8 @@ impl VideoDecoderImpl for Dav1dDec {
gst::info!(CAT, imp: self, "Draining");
{
- let mut state_guard = self.state.lock().unwrap();
+ let state_guard = self.state.lock().unwrap();
if state_guard.is_some() {
- let state = state_guard.as_mut().unwrap();
- self.flush_decoder(state);
let _state_guard = self.forward_pending_pictures(state_guard, true)?;
}
}
@@ -764,10 +762,8 @@ impl VideoDecoderImpl for Dav1dDec {
gst::info!(CAT, imp: self, "Finishing");
{
- let mut state_guard = self.state.lock().unwrap();
+ let state_guard = self.state.lock().unwrap();
if state_guard.is_some() {
- let state = state_guard.as_mut().unwrap();
- self.flush_decoder(state);
let _state_guard = self.forward_pending_pictures(state_guard, true)?;
}
}