summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorEdward Hervey <edward@centricular.com>2021-07-25 07:52:06 +0200
committerEdward Hervey <bilboed@bilboed.com>2021-07-27 08:55:22 +0200
commitb62e942718bfcee50af34485bad01c72ee6fa70e (patch)
treec58403c9b86f9e493a8dea0e27da4e7b1d12faa4 /gst
parenta4aa2af291ca493cc79d764f54e1b9db71fbd857 (diff)
downloadgstreamer-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.c10
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 ();