[Bug 793065] New: Imagefreeze element does not change the buffer on GST_SEEK_FLAG_FLUSH seek event
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Wed Jan 31 13:58:31 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=793065
Bug ID: 793065
Summary: Imagefreeze element does not change the buffer on
GST_SEEK_FLAG_FLUSH seek event
Classification: Platform
Product: GStreamer
Version: 1.12.2
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-plugins-good
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: lienes.cirules at gmail.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Even if the pipeline makes the seek with GST_SEEK_FLAG_FLUSH, autovideosink
receives from imagefreeze the same buffer as before. So obviously imagefreez
does not change the buffer. When I make a query on position, i see that
position is changed relevant to seek request.
Pipeline in use : filesrc location=/path/0.mkv ! matroskademux ! avdec_h264 !
imagefreeze name=frz ! videoconvert ! autovideosink;
Main steps in code :
gst_element_query_position (data->pipeline, GST_FORMAT_TIME, &position);
and
seek_event = gst_event_new_seek (data->rate, GST_FORMAT_TIME,
(GstSeekFlags)(GST_SEEK_FLAG_FLUSH),GST_SEEK_TYPE_SET, pos, GST_SEEK_TYPE_NONE,
0);
And console output with GST_DEBUG=3,imagefreeze*:6 reports:
0:00:17.220709175 31321 0xcdb590 DEBUG imagefreeze
gstimagefreeze.c:681:gst_image_freeze_sink_chain:<imagefreeze0:sink> Already
have a buffer, dropping
Absolute seek
Current position 0:00:16.961000000, new position 0:00:11.961000000
0:00:17.224094233 31321 0xcdb590 DEBUG imagefreeze
gstimagefreeze.c:681:gst_image_freeze_sink_chain:<imagefreeze0:sink> Already
have a buffer, dropping
0:00:17.227798715 31321 0xcc7c30 LOG imagefreeze
gstimagefreeze.c:554:gst_image_freeze_src_event:<imagefreeze0:src> Got seek
event
0:00:17.227876106 31321 0x7f3b9c014f20 DEBUG imagefreeze
gstimagefreeze.c:801:gst_image_freeze_src_loop:<imagefreeze0:src> Pushing
buffer resulted in flushing
0:00:17.227903018 31321 0x7f3b9c014f20 LOG imagefreeze
gstimagefreeze.c:819:gst_image_freeze_src_loop:<imagefreeze0> pausing task,
reason flushing
0:00:17.227947396 31321 0xcc7c30 DEBUG imagefreeze
gstimagefreeze.c:647:gst_image_freeze_src_event:<imagefreeze0:src> Seek
successful
0:00:17.228017578 31321 0x7f3b9c014f20 DEBUG imagefreeze
gstimagefreeze.c:728:gst_image_freeze_src_loop:<imagefreeze0:src> Pushing
SEGMENT event: time segment start=0:00:11.961000000, offset=0:00:00.000000000,
stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x01,
time=0:00:11.961000000, base=0:00:00.000000000, position 0:00:11.961000000,
duration 99:99:99.999999999
0:00:17.228077464 31321 0x7f3b9c014f20 DEBUG imagefreeze
gstimagefreeze.c:791:gst_image_freeze_src_loop:<imagefreeze0:src> Handling
buffer with timestamp 0:00:11.960000000
0:00:17.229690575 31321 0xcdb590 DEBUG imagefreeze
gstimagefreeze.c:681:gst_image_freeze_sink_chain:<imagefreeze0:sink> Already
have a buffer, dropping
Note that i tried some ways like changing target (pipeline, sink, imagefreeze)
on which sink event applied. Also tested different versions like
(GST_SEEK_FLAG_FLUSH, GST_SEEK_FLAG_SEGMENT), but imagefreeze also fails to
change the buffer.
--
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