summaryrefslogtreecommitdiff
path: root/gst/mxf/mxfmetadata.c
Commit message (Collapse)AuthorAgeFilesLines
* mxf: fix descriptor leakGuillaume Desmottes2015-04-281-0/+2
| | | | | | | | | Free the existing descriptor array, if any, before replacing it. Fix leaks with the validate.file.playback.scrub_forward_seeking.test-mpeg2-mp3_mxf scenario. https://bugzilla.gnome.org/show_bug.cgi?id=748580
* Remove a bunch of silly ';;' typos at the end of linesJan Schmidt2015-03-121-1/+1
|
* mxfdemux: Ignore missing metadata descriptorsDavid Schleef2013-03-141-1/+0
|
* mxf: Add support for parsing filler structural componentsSebastian Dröge2012-12-051-0/+21
| | | | | This does not add support for actually producing filler data if there's a filler component in a timeline.
* mxf: Improve debug output during metadata resolvalSebastian Dröge2012-12-051-23/+86
|
* Fix FSF addressTim-Philipp Müller2012-11-041-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=687520
* mxf: Port mxfdemux to 1.0Michael Smith2012-10-261-24/+60
| | | | | | | | | 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
* Merge branch 'master' into 0.11Wim Taymans2011-08-171-1/+5
|\
| * mxf: do not assert on the values of data read from inputVincent Penquerc'h2011-08-091-1/+5
| | | | | | | | | | | | Instead, log a warning, and return. https://bugzilla.gnome.org/show_bug.cgi?id=563827
* | miniobject: port to new 0.11 APIWim Taymans2011-02-281-82/+74
|/ | | | | Remove miniobject and buffer subclassesusing GObject subclasses and metadata.
* mxf: Unconditionally use GLib 2.16 APISebastian Dröge2009-08-311-72/+0
|
* mxf: Fix frame_layout for non-interlaced formats. Fixes #583337Edward Hervey2009-05-201-1/+1
|
* mxf: Properly handle the new interlaced support from libgstvideo for (de)muxingSebastian Dröge2009-04-161-1/+9
|
* mxf: Fix comparisonSebastian Dröge2009-04-071-2/+1
|
* Use UL database for all metadata ULsSebastian Dröge2009-04-071-593/+131
|
* mxf: Differentiate between UL and UUIDSebastian Dröge2009-03-261-270/+270
|
* mxf: Source files and #include cleanupSebastian Dröge2009-03-261-2/+1
|
* mxf: Remove some GLib < 2.14 compatibility stuffSebastian Dröge2009-03-261-8/+2
|
* mxfmux: Fix some memory leaks, improve debugging and handle errors betterSebastian Dröge2009-03-221-14/+22
|
* mxf: Add MXF muxerSebastian Dröge2009-03-211-3/+2285
| | | | | This muxer currently only supports OP1a and is probably not yet 100% complying to the standards.
* mxfdemux: Fix build on GLib < 2.16 some moreJan Schmidt2009-03-181-15/+16
|
* mxf: Replace g_hash_table_get_values with code working with glib 2.6.Zaheer Merali2009-03-161-8/+17
| | | | Fixes #575565
* mxf: Don't even try to serialize DM frameworks as it will cause an assertion ↵Sebastian Dröge2009-03-061-6/+6
| | | | until this is finished
* mxf: Don't use NULL GstStructures to prevent warningsSebastian Dröge2009-03-051-3/+5
| | | | | Currently serializing of DM Frameworks is not supported yet by DMS1 and will give us NULL.
* mxfdemux: Use arrays instead of lists for the metadata registriesSebastian Dröge2009-03-021-95/+59
|
* mxf: Fix memory leakSebastian Dröge2009-02-281-0/+1
| | | | | gst_structure_id_set() will copy GstStructures instead of taking the ownership.
* mxf: Store the metadata type ID inside the class structureSebastian Dröge2009-02-281-61/+131
|
* mxfdemux: Post structural metadata tree as tag on the busSebastian Dröge2009-02-211-4/+1179
| | | | | | | 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.
* mxfdemux: Add helper function to convert MXFraction to gdouble and use itSebastian Dröge2009-02-211-2/+2
|
* mxfdemux: Only store the main descriptor in source packagesSebastian Dröge2009-02-211-77/+57
| | | | | | | | | 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.
* mxfdemux: Don't use generic metadata parsers for unknown metadata, the ↵Sebastian Dröge2009-02-211-4/+2
| | | | results are useless anyway
* mxfdemux: Fix resolval of identifications from the prefaceSebastian Dröge2009-02-121-1/+1
|
* mxfdemux: Parse MXFTimestamp's milliseconds and add _to_string() functionSebastian Dröge2009-02-121-30/+8
|
* mxfdemux: Resolve source package before accessing it's membersSebastian Dröge2009-02-081-0/+7
|
* mxfdemux: For material packages make sure that tracks resolve to source tracksSebastian Dröge2009-02-081-2/+44
|
* mxfdemux: Don't include multiple descriptors in the track's descriptorsSebastian Dröge2009-02-071-2/+4
|
* mxfdemux: Add data definition for Avid vendor specific picture essenceSebastian Dröge2009-02-061-1/+5
|
* Don't use GLib 2.16 API unconditionallySebastian Dröge2009-01-311-10/+40
|
* Don't complain if the preface has no primary package setSebastian Dröge2009-01-311-6/+8
|
* Store MXF metadata in a hash table, keyed by UIDSebastian Dröge2009-01-221-214/+217
| | | | | | | | | | | | | Store the MXF metadata in a hash table, keyed by the instance UID. This simplifies resolval of the metadata and makes looping over all metadata sets unnecessary in most cases. Additionally parse metadata always. If we already have a metadata set with the same UID replace it only if the new metadata set is from a later offset. This fixes metadata parsing of files where following partitions don't have a complete copy of the previous metadata.
* Update copyrights for 2009Sebastian Dröge2009-01-221-1/+1
|
* Simplify parsing of UL/UUID arraysSebastian Dröge2009-01-221-188/+111
| | | | | Simplify parsing of UL/UUID arrays by abstracting it into a separate function.
* Implement parsing of DMS1 (SMPTE S380M)Sebastian Dröge2009-01-221-109/+144
|
* gst/mxf/: "Generation UID" and "This Generation UID" are different so handle ↵Sebastian Dröge2009-01-051-8/+101
| | | | | | | | | | | | | | | | | | | | | | | them different. Also both are not part o... Original commit message from CVS: * gst/mxf/Makefile.am: * gst/mxf/mxfdemux.c: * gst/mxf/mxfmetadata.c: (mxf_metadata_handle_tag), (mxf_metadata_preface_handle_tag), (mxf_metadata_identification_handle_tag), (mxf_metadata_content_storage_handle_tag), (mxf_metadata_essence_container_data_handle_tag), (mxf_metadata_generic_package_handle_tag), (mxf_metadata_track_handle_tag), (mxf_metadata_sequence_handle_tag), (mxf_metadata_structural_component_handle_tag), (mxf_metadata_generic_descriptor_handle_tag), (mxf_metadata_locator_handle_tag), (mxf_metadata_locator_class_init): * gst/mxf/mxfmetadata.h: "Generation UID" and "This Generation UID" are different so handle them different. Also both are not part of every metadata type.
* gst/mxf/: Fix compilation with debugging disabled.Sebastian Dröge2009-01-051-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/mxf/mxfaes-bwf.c: (mxf_metadata_wave_audio_essence_descriptor_handle_tag), (mxf_bwf_create_caps): * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_klv_packet): * gst/mxf/mxfmetadata.c: (mxf_metadata_handle_tag), (mxf_metadata_preface_handle_tag), (mxf_metadata_identification_handle_tag), (mxf_metadata_content_storage_handle_tag), (mxf_metadata_essence_container_data_handle_tag), (mxf_metadata_generic_package_handle_tag), (mxf_metadata_source_package_handle_tag), (mxf_metadata_track_handle_tag), (mxf_metadata_sequence_handle_tag), (mxf_metadata_structural_component_handle_tag), (mxf_metadata_source_clip_handle_tag), (mxf_metadata_dm_segment_handle_tag), (mxf_metadata_generic_descriptor_handle_tag), (mxf_metadata_file_descriptor_handle_tag), (mxf_metadata_generic_picture_essence_descriptor_handle_tag), (mxf_metadata_generic_sound_essence_descriptor_handle_tag), (mxf_metadata_generic_data_essence_descriptor_handle_tag), (mxf_metadata_multiple_descriptor_handle_tag): * gst/mxf/mxfparse.c: (mxf_partition_pack_parse), (mxf_index_table_segment_parse), (mxf_primer_pack_parse), (mxf_local_tag_add_to_hash_table): Fix compilation with debugging disabled.
* Implement support for OP2a/b/c and OP3a/b/c, i.e. tracks with more than a ↵Sebastian Dröge2008-12-311-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | single component. This currently only works... Original commit message from CVS: * gst/mxf/mxfaes-bwf.c: (mxf_bwf_handle_essence_element), (mxf_aes3_handle_essence_element): * gst/mxf/mxfalaw.c: (mxf_alaw_handle_essence_element): * gst/mxf/mxfd10.c: (mxf_d10_picture_handle_essence_element), (mxf_d10_sound_handle_essence_element): * gst/mxf/mxfdemux.c: (gst_mxf_demux_pad_init), (gst_mxf_demux_choose_package), (gst_mxf_demux_handle_header_metadata_update_streams), (gst_mxf_demux_pad_next_component), (gst_mxf_demux_handle_generic_container_essence_element), (gst_mxf_demux_parse_footer_metadata), (gst_mxf_demux_handle_klv_packet), (gst_mxf_demux_src_query): * gst/mxf/mxfdv-dif.c: (mxf_dv_dif_handle_essence_element): * gst/mxf/mxfjpeg2000.c: (mxf_jpeg2000_handle_essence_element): * gst/mxf/mxfmetadata.c: (mxf_metadata_sequence_init), (mxf_metadata_structural_component_init), (mxf_metadata_generic_picture_essence_descriptor_init): * gst/mxf/mxfmpeg.c: (mxf_mpeg_video_handle_essence_element), (mxf_mpeg_audio_handle_essence_element): * gst/mxf/mxfparse.h: * gst/mxf/mxfup.c: (mxf_up_handle_essence_element): * gst/mxf/mxfvc3.c: (mxf_vc3_handle_essence_element): * tests/check/elements/mxfdemux.c: (_sink_chain): Implement support for OP2a/b/c and OP3a/b/c, i.e. tracks with more than a single component. This currently only works for the case where the components are stored in playback order in the file. Set some more default/distinguished values for the structural metadata. Make some types more strict by choosing the correct subclasses. Set DISCONT flag on buffers after a component switch. Take the last partition from the random index pack for the footer partition of the header partition doesn't reference the footer partition. This gives us the final structural metadata for some more files in the beginning.
* gst/mxf/mxfmetadata.*: If resolving a metadata object failed the first time ↵Sebastian Dröge2008-12-221-3/+10
| | | | | | | | | | | return Original commit message from CVS: * gst/mxf/mxfmetadata.c: (mxf_metadata_base_resolve): * gst/mxf/mxfmetadata.h: If resolving a metadata object failed the first time return FALSE for a second mxf_metadata_base_resolve() call instead of TRUE.
* gst/mxf/: Add mxf_metadata_generic_sound_essence_descriptor_set_caps() to ↵Sebastian Dröge2008-12-191-5/+41
| | | | | | | | | | | | | | | | | | | | | | | set rate and channels and use this for all ... Original commit message from CVS: * gst/mxf/mxfaes-bwf.c: (mxf_bwf_create_caps), (mxf_aes3_create_caps): * gst/mxf/mxfalaw.c: (mxf_alaw_create_caps): * gst/mxf/mxfd10.c: (mxf_d10_create_caps): * gst/mxf/mxfdemux.c: * gst/mxf/mxfmetadata.c: (mxf_metadata_source_package_resolve), (mxf_metadata_generic_picture_essence_descriptor_set_caps), (mxf_metadata_generic_sound_essence_descriptor_set_caps): * gst/mxf/mxfmetadata.h: * gst/mxf/mxfmpeg.c: (mxf_mpeg_es_create_caps): Add mxf_metadata_generic_sound_essence_descriptor_set_caps() to set rate and channels and use this for all sound essence. Give some debug output when setting picture essence caps with invalid descriptor values. Fix height calculation from the frame layout a bit more and add a TODO to check if it's really correct now or if it needs more fixing (especially, does the framerate need adjustments?).
* gst/mxf/: Rename MXFMetadataBase methods to reflect that they belong toSebastian Dröge2008-12-161-18/+20
| | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_header_metadata_resolve_references): * gst/mxf/mxfmetadata.c: (mxf_metadata_base_resolve_default), (mxf_metadata_base_class_init), (mxf_metadata_base_parse), (mxf_metadata_base_resolve), (mxf_metadata_new), (mxf_metadata_preface_resolve), (mxf_metadata_content_storage_resolve), (mxf_metadata_essence_container_data_resolve), (mxf_metadata_generic_package_resolve), (mxf_metadata_source_package_resolve), (mxf_metadata_track_resolve), (mxf_metadata_sequence_resolve), (mxf_metadata_dm_segment_resolve), (mxf_metadata_generic_descriptor_resolve), (mxf_metadata_multiple_descriptor_resolve): * gst/mxf/mxfmetadata.h: Rename MXFMetadataBase methods to reflect that they belong to MXFMetadataBase and not MXFMetadata.
* gst/mxf/: Return FALSE when parsing a metadata tag failed.Sebastian Dröge2008-12-151-29/+37
| | | | | | | | | | | Original commit message from CVS: * gst/mxf/mxfaes-bwf.c: (mxf_metadata_wave_audio_essence_descriptor_handle_tag), (mxf_metadata_aes3_audio_essence_descriptor_handle_tag): * gst/mxf/mxfmetadata.c: (mxf_metadata_multiple_descriptor_handle_tag): Return FALSE when parsing a metadata tag failed. Remove some useless return value assignments.