diff options
author | Edward Hervey <edward@centricular.com> | 2021-07-25 07:52:06 +0200 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2021-07-27 08:55:22 +0200 |
commit | b62e942718bfcee50af34485bad01c72ee6fa70e (patch) | |
tree | c58403c9b86f9e493a8dea0e27da4e7b1d12faa4 /gst | |
parent | a4aa2af291ca493cc79d764f54e1b9db71fbd857 (diff) | |
download | gstreamer-plugins-bad-b62e942718bfcee50af34485bad01c72ee6fa70e.tar.gz |
mxfdemux: More granular interleaved content handling
An interleave of 500ms can be way too big for some downstream queueing
elements. Instead use a smaller 100ms interleave and silence the various
warnings about resyncing (it's normal)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2434>
Diffstat (limited to 'gst')
-rw-r--r-- | gst/mxf/mxfdemux.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gst/mxf/mxfdemux.c b/gst/mxf/mxfdemux.c index 33942d731..def65c8a7 100644 --- a/gst/mxf/mxfdemux.c +++ b/gst/mxf/mxfdemux.c @@ -123,6 +123,8 @@ gst_mxf_demux_pad_init (GstMXFDemuxPad * pad) pad->current_material_track_position = 0; } +#define DEFAULT_MAX_DRIFT 100 * GST_MSECOND + enum { PROP_0, @@ -2720,7 +2722,7 @@ gst_mxf_demux_handle_generic_container_essence_element (GstMXFDemux * demux, } if (!etrack) { - GST_WARNING_OBJECT (demux, + GST_DEBUG_OBJECT (demux, "No essence track for this essence element found"); return GST_FLOW_OK; } @@ -4233,7 +4235,7 @@ gst_mxf_demux_pull_and_handle_klv_packet (GstMXFDemux * demux) guint64 offset; gint64 position; - GST_WARNING_OBJECT (demux, + GST_DEBUG_OBJECT (demux, "Found synchronization issue -- trying to solve"); position = earliest->current_essence_track_position; @@ -6005,7 +6007,7 @@ gst_mxf_demux_class_init (GstMXFDemuxClass * klass) g_object_class_install_property (gobject_class, PROP_MAX_DRIFT, g_param_spec_uint64 ("max-drift", "Maximum drift", "Maximum number of nanoseconds by which tracks can differ", - 100 * GST_MSECOND, G_MAXUINT64, 500 * GST_MSECOND, + 100 * GST_MSECOND, G_MAXUINT64, DEFAULT_MAX_DRIFT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_STRUCTURE, @@ -6043,7 +6045,7 @@ gst_mxf_demux_init (GstMXFDemux * demux) gst_element_add_pad (GST_ELEMENT (demux), demux->sinkpad); - demux->max_drift = 500 * GST_MSECOND; + demux->max_drift = DEFAULT_MAX_DRIFT; demux->adapter = gst_adapter_new (); demux->flowcombiner = gst_flow_combiner_new (); |