[Bug 781121] New: qtmux "seek" error when in streaming mode
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Apr 10 09:51:08 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=781121
Bug ID: 781121
Summary: qtmux "seek" error when in streaming mode
Classification: Platform
Product: GStreamer
Version: 1.8.3
OS: Linux
Status: NEW
Severity: major
Priority: Normal
Component: gst-plugins-good
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: yisong at tycoint.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created attachment 349593
--> https://bugzilla.gnome.org/attachment.cgi?id=349593&action=edit
attachment showing a potential fix (in function gst_qt_mux_start_file(...)
under .../gst/isomp4/gstqtmux.c
There should be no seek in the mux when we set property of "fragment-duration"
to non-zero and "streamable" to TRUE. However I found the qtmux still did
"seek" under the function gst_qt_mux_stop_file(...) for updating the
qtmux->moov->mvex.mehd.fragment_duration in our case.
Basically the "streamable" config got ignored because the qtmux_klass->format
!= GST_QT_MUX_FORMAT_ISML in our case. The streamable was set in a later stage
by the following piece of code under function gst_qt_mux_start_file (GstQTMux *
qtmux) when the code found that the downstream is not seekable:
======
case GST_QT_MUX_MODE_FRAGMENTED:
if (!gst_qt_mux_downstream_is_seekable (qtmux)) {
GST_WARNING_OBJECT (qtmux, "downstream is not seekable, but "
"streamable=false. Will ignore that and create streamable output "
"instead");
qtmux->streamable = TRUE;
g_object_notify (G_OBJECT (qtmux), "streamable");
======
However it missed to update the qtmux->mux_mode to
GST_QT_MUX_MODE_FRAGMENTED_STREAMABLE from GST_QT_MUX_MODE_FRAGMENTED after
setting qtmux->streamable = TRUE
As we are not in GST_QT_MUX_MODE_FRAGMENTED_STREAMABLE which is needed to
prevent the "seek" described above, we hit the issue.
A potential fix tested in our case is attached (screenshot of the change).
Please let us know if you need any more information regarding this bug.
Thanks,
Song
--
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