Sebastian Dröge
7ae23d13c8
mxfdemux: Only pre-set position for exactly the same essence track
...
The edit rate is only supposed to be the same in a source package, but there
might be multiple source packages with the same essence container. As such
just comparing the body/index SID is not sufficient.
2015-12-10 12:47:17 +02:00
Sebastian Dröge
39aa2aaa39
mxfdemux: Only pre-set the track position if it's for the same body/index SID
2015-12-10 12:27:04 +02:00
Sebastian Dröge
f2eaa68c90
mxfdemux: Only access the index table if it has enough elements
2015-12-09 16:55:00 +02:00
Sebastian Dröge
6e06f8c936
mxfdemux: Use keyframe information from index table segments if available
...
We don't implement keyframe detection for all codecs and this will allow us to
implement better seeking.
2015-12-09 16:49:30 +02:00
Sebastian Dröge
b504672fc4
mxfdemux: Collect all index table segments after finding the random index pack
...
That way we always have the index table information available, especially the
keyframe-ness of all buffers.
2015-12-09 16:33:39 +02:00
Sebastian Dröge
6d367d6b48
mxfdemux: Fix handling of IndexTableSegments
...
This was completely broken before and could only work on a very constrained
set of files. After these changes it should work except for situations where
PTS != DTS, which is not handled at all in mxfdemux currently.
https://bugzilla.gnome.org/show_bug.cgi?id=759118
2015-12-09 16:33:39 +02:00
Sebastian Dröge
01f0d16db3
mxfmux: Index table segments must not use the primer pack
...
According to S377-1-2009c 9.2 the local tags must not be resolved from the
primer pack, which as a result means that there can't be any other tags than
statically assigned ones.
2015-12-08 10:14:41 +02:00
Sebastian Dröge
41982e6ccf
mxfdemux: If seeking to the remaining parts of the file fails on EOS, consider the stream done
...
Without this we would run this while loop forever, always seeking again for
the same stream.
2015-10-21 19:54:15 +03:00
Guillaume Desmottes
4d790dae67
mxfdemux: fix memory leak
...
Reset the internal segment before freeing it.
mxf_index_table_segment_parse() allocates data inside the segment
(like segment->delta_entries) which have to be freed using
mxf_index_table_segment_reset().
https://bugzilla.gnome.org/show_bug.cgi?id=746803
2015-04-04 19:47:40 +01:00
Mark Nauwelaerts
32e87b1024
mxfdemux: resurrect some flow return handling
...
https://bugzilla.gnome.org/show_bug.cgi?id=744572
2015-03-28 18:22:29 +01:00
Luis de Bethencourt
9909d1f770
mxfdemux: remove unneeded values
...
No need to store the GstFlowReturn when we can check if it is not OK directly
2015-02-18 19:27:46 +00:00
Luis de Bethencourt
4d43472c2b
mxfdemux: renaming GstFlowReturn variable
...
Having a variable named ret in a static void function is very confusing since
this usually is to store what the function will return.
2015-02-18 19:26:43 +00:00
Luis de Bethencourt
b7e0c7a163
mxfdemux: remove ignored value
...
Value stored in ret will be ovewritten in the next iteration of the loop. Which
means it is never used.
Plus a style issue to make gst-indent happy and allow the commit.
2015-02-18 18:00:54 +00:00
Mathieu Duponchelle
631663b854
mxfdemux: Use IndexTableSegments.
...
This speeds up seeking drastically.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732294
2014-12-14 12:53:55 +01:00
Vineeth T M
14acb6fb37
gst: remove unnecessary GLIB_DISABLE_DEPRECATION_WARNINGS
...
There are unnecessary definitions for disabling deprecation warnings.
Since GLIB_DISABLE_DEPRECATION_WARNINGS is not needed anymore in these files,
removing the same.
https://bugzilla.gnome.org/show_bug.cgi?id=737559
2014-10-02 10:51:35 +03:00
Thiago Santos
b8d87c11ab
mxfdemux: remove unread last_flow variable
...
it isn't necessary anymore and is already unused
2014-05-27 07:42:46 -03:00
Sebastian Dröge
a3489ffa83
mxfdemux: Compare positions to find the earliest pad, not flow returns
2014-05-27 12:24:43 +02:00
Thiago Santos
ae839d8dc2
mxfdemux: use GstFlowCombiner
...
Removes flow return combination code to use the newly added GstFlowCombiner
https://bugzilla.gnome.org/show_bug.cgi?id=709224
2014-05-26 23:29:43 -03:00
Tim-Philipp Müller
f8d63c5ad9
mxfdemux: post error message when erroring out on unsupported essence wrapping
2014-05-14 00:25:09 +01:00
Vincent Penquerc'h
52981d5a4a
mxfdemux: guard against NULL non source components
...
This component is dereferenced, and later code checking for
NULL in particular cases implies it can be NULL. This likely
does not fix the coverity warning as it was seeing another
path setting component to NULL explicitely, but this was
spotted by looking at:
Coverity 1139736
Which is actually OK from what I can see since the actual
dereference of the explicit NULL pointer will not happen
if the condition that led to the NULL pointer assignment
is met, since the assignment and defeference have mutually
exclusive tests.
2014-04-21 09:24:00 +01:00
Edward Hervey
3d6265a9f5
mxfdemux: Fix copy/paste error
...
We want to check whether the rate is different. We check changes in
numerator *and* denominator.
CID #1139631
CID #1139642
2014-04-16 16:25:29 +02:00
Tim-Philipp Müller
39dc1f0ebb
mxfdemux: guard against NULL material track
...
Just to be on the safe side.
2014-04-08 16:53:41 +01:00
Tim-Philipp Müller
6e764e5b11
mxfdemux: implement simple KEY_UNIT seeking
...
If a KEY_UNIT seek was requested, adjust segment
start to position of the key frame.
2014-04-08 14:37:34 +01:00
Tim-Philipp Müller
4898a51afe
mxfdemux: fix seeking, send data starting from a key unit
...
Fixes multiple seeking issues. When doing ACCURATE or normal
non-KEYUNIT seeks, mxfdemux would just send data from the
edit unit that covered the seek position, whether that's
a keyframe or not. Decoders would only output things from
the next keyframe then, which means there's a gap between
the start of the segment and the first decoded data in
some cases. In combination with gst-editing-services this
might result in a frozen picture for the duration of that
gap at the beginning (if videorate fixes up the first
buffer's start timestamp to cover the entire gap), or
a black frame (if no videorate is used and videomixer
fills the gap). Also fixes A/V sync issue when requesting
a KEYUNIT seek.
2014-04-08 13:26:49 +01:00
Sjoerd Simons
f6da7ea8bb
mxfdemux: Don't go into pull mode when the sequential flag is set
...
When the scheduling query results has GST_SCHEDULING_FLAG_SEQUENTIAL set
in its flags don't go into pull mode to prevent over-eager seeking.
https://bugzilla.gnome.org/show_bug.cgi?id=722934
2014-01-24 22:14:47 +01:00
Sebastian Dröge
6812f96de4
gst: Don't swap start/stop for negative rates in the SEGMENT query
2013-07-29 12:14:08 +02:00
Sebastian Dröge
6b78fa336d
mxfdemux: Implement SEGMENT query
2013-07-29 11:02:54 +02:00
Sebastian Dröge
46e85b4a6c
mxfdemux: Add support for group-id in the stream-start event
2013-07-23 10:33:31 +02:00
Stefan Sauer
2991e1ed48
mfxdemus: update todo (ther eis a muxer)
2013-04-11 10:06:23 +02:00
David Schleef
65cb59912b
mxfdemux: Use %03u for format in gst_pad_create_stream_id_printf()
2013-03-25 18:57:32 -07:00
Tim-Philipp Müller
dee6536421
mxfdemux: fix taglist leak
...
Don't leak demuxer tag list.
2013-02-11 20:24:14 +00:00
Tim-Philipp Müller
453438a9dd
mxfdemux: fix push mode unit test failure
...
In the sink event handler we end up sending multiple EOS
events per pad. Don't return FALSE when sending the
second EOS on an already-EOS pad fails. Not sure if there
was a reason for sending a second EOS, so leaving the
code in there for now, but assume all went fine if there
are source pads, which is slightly less wrong than before.
This function needs work.
2013-02-11 19:59:20 +00:00
Marc Leeman
6aa399ec9f
mxfdemux: deprecated GStaticRWLock -> GRWLock
...
https://bugzilla.gnome.org/show_bug.cgi?id=693322
2013-02-09 18:35:48 +00:00
Thijs Vermeir
35a5100bc3
mxf: use appropriate printf format for gsize
2012-12-18 16:50:37 +01:00
Tim-Philipp Müller
b0c30383ca
mxfdemux: printf format fixes for debug messages
2012-12-12 18:50:09 +00:00
Sebastian Dröge
3478231790
mxfdemux: Don't allow any wrapping other than frame wrapping
...
Bad things will happen otherwise, like reading a complete,
multiple GB large video track into a single buffer.
Conflicts:
gst/mxf/mxfdemux.c
2012-12-06 10:10:05 +01:00
Tim-Philipp Müller
9e1b75fda3
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Michael Smith
0c8a7fa46f
mxf: Port mxfdemux to 1.0
...
Also ports mxfmux to 1.0 to the extent that it compiles, but is 100% untested,
so remains disabled.
Conflicts:
gst/mxf/mxfdemux.c
gst/mxf/mxfmux.c
2012-10-26 13:48:06 -07:00
Tim-Philipp Müller
32ba17cd0f
Use gst_element_class_set_static_metadata()
...
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Mark Nauwelaerts
578861abea
replace gst_element_class_set_details_simple with gst_element_class_set_metadata
2012-09-14 17:27:49 +02:00
Tim-Philipp Müller
489b102a43
gst_tag_list_free -> gst_tag_list_unref
2012-08-04 16:31:30 +01:00
Sebastian Dröge
9c7d7498bb
gst: Implement segment-done event
2012-07-05 13:18:47 +02:00
Wim Taymans
dbed726057
update for task api change
2012-06-20 10:40:42 +02:00
Sebastian Dröge
860ccd414d
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
NEWS
RELEASE
common
configure.ac
docs/libs/gst-plugins-bad-libs-sections.txt
docs/plugins/gst-plugins-bad-plugins.args
docs/plugins/gst-plugins-bad-plugins.hierarchy
docs/plugins/gst-plugins-bad-plugins.interfaces
docs/plugins/inspect/plugin-adpcmdec.xml
docs/plugins/inspect/plugin-adpcmenc.xml
docs/plugins/inspect/plugin-assrender.xml
docs/plugins/inspect/plugin-audiovisualizers.xml
docs/plugins/inspect/plugin-autoconvert.xml
docs/plugins/inspect/plugin-bayer.xml
docs/plugins/inspect/plugin-bz2.xml
docs/plugins/inspect/plugin-camerabin2.xml
docs/plugins/inspect/plugin-celt.xml
docs/plugins/inspect/plugin-dataurisrc.xml
docs/plugins/inspect/plugin-debugutilsbad.xml
docs/plugins/inspect/plugin-dtmf.xml
docs/plugins/inspect/plugin-dtsdec.xml
docs/plugins/inspect/plugin-dvbsuboverlay.xml
docs/plugins/inspect/plugin-dvdspu.xml
docs/plugins/inspect/plugin-faac.xml
docs/plugins/inspect/plugin-faad.xml
docs/plugins/inspect/plugin-gsm.xml
docs/plugins/inspect/plugin-h264parse.xml
docs/plugins/inspect/plugin-mms.xml
docs/plugins/inspect/plugin-modplug.xml
docs/plugins/inspect/plugin-mpeg2enc.xml
docs/plugins/inspect/plugin-mpegdemux2.xml
docs/plugins/inspect/plugin-mpegtsdemux.xml
docs/plugins/inspect/plugin-mpegvideoparse.xml
docs/plugins/inspect/plugin-mplex.xml
docs/plugins/inspect/plugin-pcapparse.xml
docs/plugins/inspect/plugin-rawparse.xml
docs/plugins/inspect/plugin-rtpmux.xml
docs/plugins/inspect/plugin-rtpvp8.xml
docs/plugins/inspect/plugin-scaletempo.xml
docs/plugins/inspect/plugin-schro.xml
docs/plugins/inspect/plugin-sdp.xml
docs/plugins/inspect/plugin-segmentclip.xml
docs/plugins/inspect/plugin-shm.xml
docs/plugins/inspect/plugin-videomaxrate.xml
docs/plugins/inspect/plugin-videoparsersbad.xml
docs/plugins/inspect/plugin-vp8.xml
docs/plugins/inspect/plugin-y4mdec.xml
ext/celt/gstceltdec.c
ext/dts/gstdtsdec.c
ext/modplug/gstmodplug.cc
ext/opus/gstopusenc.c
gst-libs/gst/video/gstbasevideocodec.c
gst-libs/gst/video/gstbasevideocodec.h
gst-libs/gst/video/gstbasevideodecoder.c
gst-libs/gst/video/gstbasevideodecoder.h
gst-libs/gst/video/gstbasevideoencoder.c
gst-libs/gst/video/gstbasevideoencoder.h
gst/adpcmdec/Makefile.am
gst/audiovisualizers/gstbaseaudiovisualizer.c
gst/h264parse/gsth264parse.c
gst/mpegdemux/mpegtsparse.c
gst/mpegtsdemux/mpegtsbase.c
gst/mpegtsdemux/mpegtspacketizer.c
gst/mpegtsdemux/mpegtsparse.c
gst/mpegtsdemux/tsdemux.c
gst/mpegtsdemux/tsdemux.h
gst/mxf/mxfdemux.c
gst/rawparse/gstaudioparse.c
gst/videoparsers/gsth263parse.c
gst/videoparsers/gsth264parse.c
sys/d3dvideosink/d3dvideosink.c
sys/decklink/gstdecklinksink.cpp
sys/dvb/gstdvbsrc.c
sys/shm/gstshmsrc.c
sys/vdpau/h264/gstvdph264dec.c
sys/vdpau/mpeg/gstvdpmpegdec.c
tests/examples/opencv/gst_element_print_properties.c
win32/common/config.h
2012-03-29 17:41:53 +02:00
Wim Taymans
bc38bc27b7
don't pass random pointers to pull_range
2012-03-16 21:47:39 +01:00
Sebastian Dröge
b292b19c59
mxfdemux: Fix 'comparison of unsigned expression >= 0 is always true' compiler warning
2012-03-06 14:46:03 +01:00
Wim Taymans
1119f6ee41
Merge branch 'master' into 0.11
...
Conflicts:
ext/chromaprint/gstchromaprint.c
ext/mpeg2enc/Makefile.am
ext/voaacenc/gstvoaacenc.c
gst/dvbsuboverlay/gstdvbsuboverlay.c
gst/mpegtsdemux/mpegtsbase.c
gst/sdp/gstsdpdemux.c
gst/videoparsers/gsth264parse.c
sys/d3dvideosink/d3dvideosink.c
tests/examples/camerabin/gst-camera-perf.c
tests/examples/camerabin/gst-camerabin-test.c
tests/examples/camerabin2/gst-camerabin2-test.c
tests/examples/mxf/mxfdemux-structure.c
tests/examples/scaletempo/demo-main.c
2012-02-10 16:46:50 +01:00
Wim Taymans
de1f89bf07
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 16:37:13 +01:00
Vincent Penquerc'h
8147669971
plenty: fixup glib deprecations
2012-01-27 15:47:07 +00:00
Vincent Penquerc'h
7521b597f4
various: fix pad template ref leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00