Commit graph

374 commits

Author SHA1 Message Date
David Schleef 6005ab322d mxfdemux: Add a second MXF UL for uncompressed audio 2013-03-14 14:41:38 -07:00
David Schleef f0ab12fe89 mxfdemux: Ignore missing metadata descriptors 2013-03-14 14:41:37 -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
Sebastian Dröge 76ca3c77d7 mxfdemux: Add function to get the essence track wrapping 2012-12-06 10:09:21 +01:00
Sebastian Dröge 28c11b2762 mxf: Add support for parsing filler structural components
This does not add support for actually producing filler data
if there's a filler component in a timeline.
2012-12-05 12:24:30 +01:00
Sebastian Dröge a83b798312 mxf: Improve debug output during metadata resolval 2012-12-05 12:10:44 +01:00
Sebastian Dröge 84e5418cfc mxf: Add more support for RP2008 (AVC in the MPEG mapping)
Conflicts:
	gst/mxf/mxfmpeg.c
2012-11-30 15:19:35 +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
Stefan Sauer 27cd08ad95 collectpads: remove gst_collect_pads_add_pad_full
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:13:35 +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
Mark Nauwelaerts 6578797245 collectpads2: rename to collectpads 2012-04-17 15:22:59 +02:00
Sebastian Dröge cda192b3b7 gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 18:02:56 +02:00
Sebastian Dröge 1318a97e0a gst: Update versioning 2012-04-04 14:44:34 +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
Thibault Saunier 20669d461a Fix 'ignoring return value of function declared with const attribute'
This always happens with GstByteReader/Writer and friends when
not taking into account returned boolean of the _read/_write functions
(which is actually wrong).

Make use of the *_unchecked variant as much as possible, or take the
returned value into account.
2012-03-10 19:22:07 -03: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
Edward Hervey f70a623418 Merge remote-tracking branch 'origin/master' into 0.11-premerge
Conflicts:
	docs/libs/Makefile.am
	ext/kate/gstkatetiger.c
	ext/opus/gstopusdec.c
	ext/xvid/gstxvidenc.c
	gst-libs/gst/basecamerabinsrc/Makefile.am
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideoencoder.c
	gst/asfmux/gstasfmux.c
	gst/audiovisualizers/gstwavescope.c
	gst/camerabin2/gstcamerabin2.c
	gst/debugutils/gstcompare.c
	gst/frei0r/gstfrei0rmixer.c
	gst/mpegpsmux/mpegpsmux.c
	gst/mpegtsmux/mpegtsmux.c
	gst/mxf/mxfmux.c
	gst/videomeasure/gstvideomeasure_ssim.c
	gst/videoparsers/gsth264parse.c
	gst/videoparsers/gstmpeg4videoparse.c
2011-12-30 11:41:17 +01:00
Vincent Penquerc'h f4ccc7dff8 mxfmux: port to GstCollectPads2
Only tested with audio, I can't get it to accept video (before
the port).
2011-12-15 13:39:41 +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
Stefan Sauer d2f2955f18 collectpads: port API changes 2011-11-17 08:53:23 +01:00
Wim Taymans 52d48bb142 Merge branch 'master' into 0.11 2011-08-17 19:01:39 +02:00
Vincent Penquerc'h 2728ead8a2 mxf: do not assert on the values of data read from input
Instead, log a warning, and return.

https://bugzilla.gnome.org/show_bug.cgi?id=563827
2011-08-09 10:44:48 +02:00
Wim Taymans 01b9b5002f Merge branch 'master' into 0.11
Conflicts:
	common
	configure.ac
	gst/colorspace/colorspace.c
	gst/colorspace/colorspace.h
	gst/colorspace/gstcolorspace.c
2011-08-04 09:36:07 +02:00
Sebastian Dröge 6f2c2609ac mxfdemux: Properly return seeking errors if the requested position can't be found 2011-07-08 11:52:17 +02:00
Wim Taymans a2b7a672b8 Merge branch 'master' into 0.11
Conflicts:
	android/aacparse.mk
	android/amrparse.mk
	android/h264parse.mk
	android/metadata.mk
	android/qtmux.mk
	android/sdpelem.mk
	configure.ac
	gst/qtmux/gstqtmux.c
	win32/common/config.h
2011-06-15 16:06:36 +02:00
David Schleef 7b12d4647a Work around changes in g_atomic API
See #651514 for details.
2011-06-04 14:09:30 -07:00
Thibault Saunier 17fd7ebcb4 android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:27:11 +02:00
Wim Taymans 2694086ace mxf: fix class struct
Fix class parent structure
Metadata is now GObject
2011-02-28 12:06:57 +01:00
Wim Taymans cbb7fa5701 miniobject: port to new 0.11 API
Remove miniobject and buffer subclassesusing GObject subclasses and
metadata.
2011-02-28 12:06:57 +01:00
Wim Taymans 2eb38991c6 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	win32/common/config.h
2011-02-28 12:06:12 +01:00
Thiago Santos cbbdfee98a mxfdemux: Fix unitialized variable warning 2011-01-18 18:18:03 -03:00
Sebastian Dröge dd8ae4e027 mxfdemux: Don't use GST_FLOW_IS_FATAL() 2010-09-21 12:26:35 +02:00
Benjamin Otte 647cf64c01 Add -Wformat-nonliteral -Wformat-security flags
and fix the warnings
2010-03-22 16:22:22 +01:00
Benjamin Otte 33c2f5fb01 Add -Wwrite-strings
and fix its warnings
2010-03-22 13:16:33 +01:00
Benjamin Otte f96e4f1581 Add -Wmissing-declarations -Wmissing-prototypes to configure flags
And fix all warnings
2010-03-21 21:39:18 +01:00
Stefan Kost b96d57b870 mxf: add a return to fix the build when turning assert off 2010-01-25 11:49:46 +02:00
Stefan Kost 76daceadca Revert "mxf: add a return to fix the build when turning assert off"
This reverts commit 68ca62b369.
2010-01-25 11:48:29 +02:00
Stefan Kost 68ca62b369 mxf: add a return to fix the build when turning assert off 2010-01-25 09:54:27 +02:00
Sebastian Dröge 454b1931bc mxf: Correctly initialize memory 2010-01-21 15:58:59 +01:00
Alessandro Decina a17393fd34 Fix warnings with gcc 4.0.1. 2009-09-23 12:34:47 +02:00
Tim-Philipp Müller 10d67eda7a GstAdapter is not a GstObject and should be freed with g_object_unref() 2009-08-31 13:14:02 +01:00
Sebastian Dröge 53128c5b4f mxf: Unconditionally use GLib 2.16 API 2009-08-31 08:14:11 +02:00
Sebastian Dröge 86af4924cc mxfdemux: Implement SEEKING query 2009-07-21 13:51:20 +02:00
Tim-Philipp Müller 3b99292629 mxfdemux: fix stray semicolons that mess up if statement 2009-06-18 21:17:24 +01:00
Edward Hervey 0520a2a53b mxf: Fix frame_layout for non-interlaced formats. Fixes #583337 2009-05-20 17:15:51 +02:00
Sebastian Dröge f5ba4904f7 mxfdemux: Use a RW lock to protect metadata and add all pads at once without a lock held
This makes it possible, among other things, to do a query in the
pad-added callback.

Fixes bug #582656.
2009-05-15 11:49:20 +02:00
Tristan Matthews 6451febd14 mxfmux: Fix uninitialized variable compiler warning
This will always be set to something but gcc didn't detect
this. Fixes bug #582013.
2009-05-10 10:41:41 +02:00
Sebastian Dröge d09515b49f mxfmux: Write metadata items in reference order
This ensures that the metadata items are always written
in the same order and that first comes the preface,
then the identification linked from the preface, ...

Some demuxers can't handle files where the metadata
items are in random order.
2009-05-09 15:50:51 +02:00
Sebastian Dröge 18f8c9b0b4 mxfmux: Fix EOS logic again 2009-05-09 15:50:51 +02:00
Sebastian Dröge 8692ae2a9d mxfmux: Don't unref NULL buffers if pushing a buffer after the first failed 2009-05-09 15:50:51 +02:00
Christian Schaller 67dd3c11f4 Add ranks to various muxers and encoders in -bad 2009-05-07 17:53:42 +01:00
Sebastian Dröge 8e84633120 mxf: Mark most fields of the instance struct as private 2009-04-22 19:45:07 +02:00
Sebastian Dröge e3664d57ad mxf: Add documentation to mxfmux and update the docs 2009-04-22 19:24:43 +02:00
Sebastian Dröge 7a30947913 mxf: Properly handle the new interlaced support from libgstvideo for (de)muxing 2009-04-16 22:14:15 +02:00
Sebastian Dröge 50424e44ad mxfmux: Small cleanup 2009-04-13 13:33:00 +02:00
Sebastian Dröge 0fa50e9d77 mxfdemux: Don't use invalid buffer offsets, instead assume offset == 0 2009-04-07 15:49:00 +02:00
Sebastian Dröge acc912599d mxf: Fix comparison 2009-04-07 15:45:50 +02:00
Sebastian Dröge 83324d6788 Use UL database for all metadata ULs 2009-04-07 15:20:10 +02:00
Sebastian Dröge f510be57cd mxf: Fix compilation and compiler errors with GLib < 2.16.0 2009-03-26 20:28:30 +01:00
Sebastian Dröge 2c51bbdfad mxf: Fix "cast to pointer type of different size" compiler warning 2009-03-26 14:26:34 +01:00
Sebastian Dröge 9b6d6fd0dd mxf: Rename forgotten function to fix unresolved symbols error 2009-03-26 13:24:49 +01:00
Sebastian Dröge f22494b6fe mxf: Use mxf_u{l,uid}_is_equal() and friends instead of memcmp() 2009-03-26 13:20:18 +01:00
Sebastian Dröge c1c8b40d42 mxf: Differentiate between UL and UUID 2009-03-26 13:11:07 +01:00
Sebastian Dröge ce01236e32 mxf: Source files and #include cleanup 2009-03-26 12:46:22 +01:00
Sebastian Dröge 81af2259c2 mxf: Use the UL database for some more ULs 2009-03-26 11:51:43 +01:00
Sebastian Dröge a9f931c467 mxf: Remove some GLib < 2.14 compatibility stuff 2009-03-26 11:42:45 +01:00
Sebastian Dröge 6f62242c5f Merge branch 'mxfmux' 2009-03-26 08:13:10 +01:00
Sebastian Dröge e5caf2edda mxfmux: Cleanup 2009-03-26 08:12:02 +01:00
Sebastian Dröge 3b88dce4d1 mxfmux: Fix handling of buffers with more than one edit unit and EOS handling 2009-03-26 08:11:20 +01:00
Sebastian Dröge da27eb2380 mxf: Move some static const variables into functions 2009-03-23 15:06:11 +01:00
Stefan Kost a7a97b9139 Makefile.am: no static libs for plugins 2009-03-22 21:02:45 +02:00
Sebastian Dröge 2224a990a8 mxfmux: Fix error handling 2009-03-22 15:58:50 +01:00
Sebastian Dröge effb5786da mxfmux: Fix some memory leaks, improve debugging and handle errors better 2009-03-22 15:51:37 +01:00
Sebastian Dröge ddced37a8b mxfmux: Add an error state from which we return immediately
Also improve debugging a bit.
2009-03-22 15:35:42 +01:00
Sebastian Dröge 226f23edde mxf: Optimize mxf_ul_is_subclass() a bit 2009-03-21 10:19:49 +01:00
Sebastian Dröge b409f71f49 mxf: Start implementing a central UL database and add some helper functions and use them 2009-03-21 10:19:49 +01:00
Sebastian Dröge a19f0375ec mxfmux: Make sure to include a picture in the edit units when muxing MPEG2/MPEG4 2009-03-21 10:19:49 +01:00
Sebastian Dröge 992caf48ba mxfdemux: Remove accidentially committed g_assert_not_reached() 2009-03-21 10:19:49 +01:00
Sebastian Dröge c6730cd223 mxf: Add support for muxing/demuxing subsampled YUV formats 2009-03-21 10:19:49 +01:00
Sebastian Dröge c95ba980b2 mxfdemux: Use correct width/height for stride conversions 2009-03-21 10:19:49 +01:00
Sebastian Dröge a31498d8d4 mxf: Implement stride transformations for raw video content for muxing and demuxing 2009-03-21 10:19:49 +01:00
Sebastian Dröge b6bac882f9 mxfdemux: Simplify caps selection by using a lookup table 2009-03-21 10:19:49 +01:00
Sebastian Dröge 9aa16c2ea5 mxfmux: Add initial support for muxing raw picture essence 2009-03-21 10:19:48 +01:00
Sebastian Dröge 3d2f7c9ca0 mxfmux: Only add an essence container UL once to the partition and preface 2009-03-21 10:19:48 +01:00
Sebastian Dröge 1925b8e9f7 mxfdemux: Add support for AYUV and v308 YUV colorspaces 2009-03-21 10:19:48 +01:00
Sebastian Dröge 9fd64eee8d mxfmux: Use the correct edit rate instead of estimating it from the first buffer duration 2009-03-21 10:19:48 +01:00
Sebastian Dröge 6c126cbfdf mxfdemux: Error out directly if pushing a packet downstream failed 2009-03-21 10:19:48 +01:00
Sebastian Dröge fc70fb1706 mxfmux: Add support for DV/DIF muxing and add framerate, etc to the caps when demuxing DV/DIF content 2009-03-21 10:19:48 +01:00
Sebastian Dröge 266736817d mxfmux: Add some debugging and error out on invalid input data 2009-03-21 10:19:48 +01:00
Sebastian Dröge c5c155884a mxfmux: Add support for muxing MPEG audio and video 2009-03-21 10:19:48 +01:00
Sebastian Dröge 28e4871217 mxfdemux: Use correct caps type for AC3 audio (audio/x-ac3 instead of audio/ac3) 2009-03-21 10:19:47 +01:00
Sebastian Dröge 654f0627e4 mxfmux: Add support for muxing JPEG2000 code streams 2009-03-21 10:19:47 +01:00
Sebastian Dröge 244c0a4707 mxfmux: Add support for muxing VC-3 (aka DNxHD) video 2009-03-21 10:19:47 +01:00
Sebastian Dröge 60d0dc07bf mxfmux: Add support for muxing A-Law audio 2009-03-21 10:19:47 +01:00
Sebastian Dröge 0a5dc919fb mxfmux: Add support for muxing raw audio 2009-03-21 10:19:47 +01:00
Sebastian Dröge e50039897b mxf: Add MXF muxer
This muxer currently only supports OP1a and is
probably not yet 100% complying to the standards.
2009-03-21 10:19:47 +01:00
Jan Schmidt cf4485133b mxfdemux: Fix build on GLib < 2.16 some more 2009-03-18 10:35:43 +00:00
Zaheer Merali 43117a8d86 mxf: Replace g_hash_table_get_values with code working with glib 2.6.
Fixes #575565
2009-03-16 17:33:45 +00:00
Sebastian Dröge 6b51d475b5 mxfdemux: Store and use the seqnum of the currently running segment everywhere 2009-03-06 17:46:37 +01:00
Sebastian Dröge 424bb07965 mxf: Don't even try to serialize DM frameworks as it will cause an assertion until this is finished 2009-03-06 17:24:03 +01:00
Sebastian Dröge b5e87b6517 mxf: Don't use NULL GstStructures to prevent warnings
Currently serializing of DM Frameworks is not supported
yet by DMS1 and will give us NULL.
2009-03-05 14:40:57 +01:00
Sebastian Dröge 62dbf4b9bc mxfdemux: Use arrays instead of lists for the metadata registries 2009-03-02 17:00:41 +01:00
Sebastian Dröge ed72bba6a2 mxf: Fix memory leak
gst_structure_id_set() will copy GstStructures instead of taking
the ownership.
2009-02-28 20:42:49 +01:00
Sebastian Dröge b5b2e44563 mxf: Store the metadata type ID inside the class structure 2009-02-28 20:39:42 +01:00
Sebastian Dröge b7f617ad58 mxfdemux: Add read-only property to get the structural metadata 2009-02-21 17:45:09 +01:00
Sebastian Dröge a0951a630b mxfdemux: Add MPEG video bitrate to the tags if available 2009-02-21 17:40:01 +01:00
Sebastian Dröge acc6a316ce mxfdemux: Post structural metadata tree as tag on the bus
This will later be used to keep the structural metadata when
remuxing an MXF file and can also be used in Pitivi for example
to know the file structure and to select what should be used
and played.
2009-02-21 17:38:49 +01:00
Sebastian Dröge a9461b9818 mxfdemux: Fix calculation of AES3 bitrate tag 2009-02-21 16:16:32 +01:00
Sebastian Dröge 636b535e4a mxfdemux: Add helper function to convert MXFraction to gdouble and use it 2009-02-21 16:16:32 +01:00
Sebastian Dröge 8172830d47 mxfdemux: Only store the main descriptor in source packages
For the tracks we still resolve the descriptors but the
source package only contains the descriptor it really references
instead of all subdescriptors of multiple descriptors.

This makes it easier later to serialize the structural metadata
again.
2009-02-21 16:16:32 +01:00
Sebastian Dröge e11f0be161 mxfdemux: Set free'd memory to NULL to prevent a double free later in some cases 2009-02-21 16:16:32 +01:00
Sebastian Dröge 2a93712ea1 mxfdemux: Don't use generic metadata parsers for unknown metadata, the results are useless anyway 2009-02-21 16:16:32 +01:00
Sebastian Dröge e8efc4d020 mxfdemux: Also include the picture/sound/data essence coding in the unknown caps 2009-02-12 11:00:07 +01:00
Sebastian Dröge 25e84ff223 mxfdemux: Update TODO, we should support the drop-frame property of timecode tracks 2009-02-12 11:00:07 +01:00
Sebastian Dröge eb78f9c8f7 mxfdemux: Fix resolval of identifications from the preface 2009-02-12 11:00:07 +01:00
Sebastian Dröge 61b284de0d mxfdemux: Parse MXFTimestamp's milliseconds and add _to_string() function 2009-02-12 11:00:07 +01:00
Sebastian Dröge 144466e2cd mxfdemux: Update TODO 2009-02-12 11:00:07 +01:00
Sebastian Dröge 08aadd31dc mxfdemux: After pulling the footer metadata reset essence track positions to 0 2009-02-09 18:14:14 +01:00
Sebastian Dröge 1229f0a149 mxfdemux: When trying to find an essence track position try to find position+1 too
By searching for the following position we will add the complete
generic container (i.e. all tracks) at the same position to the
index which should make finding positions for more than one track
a bit faster.
2009-02-09 17:55:05 +01:00
Sebastian Dröge df0dd0b378 mxfdemux: For new essence tracks only set the position to 0 if it starts in the current partition 2009-02-09 17:48:38 +01:00
Sebastian Dröge 1ae9334355 mxfdemux: Check if the length of the src/essence track arrays are 0, not the array itself 2009-02-09 17:44:43 +01:00
Sebastian Dröge 32dc77f853 mxfdemux: Make sure that the srcpad and essence track arrays always exist 2009-02-09 17:25:35 +01:00
Sebastian Dröge ae4b0fcb7c mxfdemux: Change some GST_ERRORs to something less critical 2009-02-09 16:40:44 +01:00
Sebastian Dröge 3f9400d968 mxfdemux: Only go into EOS and send segment-done after all tracks are finished 2009-02-09 16:40:44 +01:00
Sebastian Dröge 15c0db9c38 mxfdemux: Update TODO 2009-02-09 16:40:44 +01:00
Sebastian Dröge dc408bb28b mxfdemux: Fix seeking to the end of file
When seeking to a position where no new offset can be
found or after the end of a track don't set the EOS flag
to TRUE as we don't (and can't) push EOS downstream then.
Instead set the current essence track position to then
end of the essence track and let the loop or chain function
set everything to EOS and push EOS downstream.

Also restart the pad's task if resolving metadata failed
(playback will continue as before) and return FALSE from
the seek if no new offset could be found.
2009-02-09 07:33:41 +01:00
Sebastian Dröge f169201c24 mxfdemux: Fix last_stop calculation when seeking 2009-02-08 21:52:03 +01:00
Sebastian Dröge 33baa707a2 mxfdemux: Resolve source package before accessing it's members 2009-02-08 21:31:40 +01:00
Sebastian Dröge 2b566be795 mxfdemux: Correctly implement timestamping in all cases
When the material package track and source package track
edit rate are different the source package track edit
rate applies to the stored essence and the material track
edit rate only applies to the values in the track's sequence
and components.
2009-02-08 21:23:03 +01:00
Sebastian Dröge 3cc77d4dd6 mxfdemux: Correctly handle DURATION queries with a negative duration 2009-02-08 21:22:17 +01:00
Sebastian Dröge 81fb90748f mxfdemux: When changing to the component after the last component update the essence track position 2009-02-08 21:17:11 +01:00
Sebastian Dröge c33678dab3 mxfdemux: Small cleanup and an additional check
Update TODO list, reduce size of a stack allocated string
and don't allow essence tracks with an invalid edit rate
2009-02-08 21:12:21 +01:00
Sebastian Dröge 658066d085 mxfdemux: For material packages make sure that tracks resolve to source tracks 2009-02-08 07:33:33 +01:00
Sebastian Dröge 8dc9f2ea4d mxfdemux: Add support for non-standard Avid MXF files containing DNxHD essence
Avid uses a custom essence container UL and custom essence element keys
that are fortunately compatible with the generic container essence
elements. Partially fixes bug #561922.
2009-02-07 10:38:26 +01:00
Sebastian Dröge 3c3dff6869 mxfdemux: Make essence track creation a bit more robust against broken files
Some files contain multiple tracks with the same track number but different
track id inside the same source package. This is invalid and we simply ignore
the second and following of such traacks now instead of overwriting the
information of the first one.
2009-02-07 10:13:54 +01:00
Sebastian Dröge 410681f8b5 mxfdemux: Don't include multiple descriptors in the track's descriptors 2009-02-07 10:03:24 +01:00