[Bug 742922] vaapidecode: support reverse playback
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Wed Jun 29 18:09:30 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=742922
--- Comment #31 from Víctor Manuel Jáquez Leal <vjaquez at igalia.com> ---
Review of attachment 328781:
--> (https://bugzilla.gnome.org/review?bug=742922&attachment=328781)
Hey!
I just tested it. As we talked, it is not perfect, there are bad spots, but
overall it is a great achievement!
A couple comments:
I would like to split this patch in two: one for the vmethod and other for the
frame dropping in decoder.
We need to find a way to make the reverse playback terser. Have you checked
GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT?? Perhaps we could avoid the deadlock
with it.
::: gst/vaapi/gstvaapidecode.c
@@ +537,3 @@
+ if (decode->in_segment.rate < 0.0
+ && !GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT (out_frame)) {
+ GST_DEBUG_OBJECT (decode, "drop frame in reverse playback");
I would use GST_TRACE_OBJECT to avoid a flood of debug messages
@@ +1247,3 @@
+ }
+
+ ret = GST_VIDEO_DECODER_CLASS (parent_class)->sink_event (vdec, event);
This ret variable seems not need. I would code it like
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_SEGMENT:
gst_event_copy_segment (event, &decode->in_segment);
break;
default:
break;
}
return GST_VIDEO_DECODER_CLASS (parent_class)->sink_event (vdec, event);
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list