Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2009-03-22 | mxfmux: Fix some memory leaks, improve debugging and handle errors better | Sebastian Dröge | 1 | -14/+22 | |
2009-03-21 | mxf: Add MXF muxer | Sebastian Dröge | 1 | -3/+2285 | |
This muxer currently only supports OP1a and is probably not yet 100% complying to the standards. | |||||
2009-03-18 | mxfdemux: Fix build on GLib < 2.16 some more | Jan Schmidt | 1 | -15/+16 | |
2009-03-16 | mxf: Replace g_hash_table_get_values with code working with glib 2.6. | Zaheer Merali | 1 | -8/+17 | |
Fixes #575565 | |||||
2009-03-06 | mxf: Don't even try to serialize DM frameworks as it will cause an assertion ↵ | Sebastian Dröge | 1 | -6/+6 | |
until this is finished | |||||
2009-03-05 | mxf: Don't use NULL GstStructures to prevent warnings | Sebastian Dröge | 1 | -3/+5 | |
Currently serializing of DM Frameworks is not supported yet by DMS1 and will give us NULL. | |||||
2009-03-02 | mxfdemux: Use arrays instead of lists for the metadata registries | Sebastian Dröge | 1 | -95/+59 | |
2009-02-28 | mxf: Fix memory leak | Sebastian Dröge | 1 | -0/+1 | |
gst_structure_id_set() will copy GstStructures instead of taking the ownership. | |||||
2009-02-28 | mxf: Store the metadata type ID inside the class structure | Sebastian Dröge | 1 | -61/+131 | |
2009-02-21 | mxfdemux: Post structural metadata tree as tag on the bus | Sebastian Dröge | 1 | -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. | |||||
2009-02-21 | mxfdemux: Add helper function to convert MXFraction to gdouble and use it | Sebastian Dröge | 1 | -2/+2 | |
2009-02-21 | mxfdemux: Only store the main descriptor in source packages | Sebastian Dröge | 1 | -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. | |||||
2009-02-21 | mxfdemux: Don't use generic metadata parsers for unknown metadata, the ↵ | Sebastian Dröge | 1 | -4/+2 | |
results are useless anyway | |||||
2009-02-12 | mxfdemux: Fix resolval of identifications from the preface | Sebastian Dröge | 1 | -1/+1 | |
2009-02-12 | mxfdemux: Parse MXFTimestamp's milliseconds and add _to_string() function | Sebastian Dröge | 1 | -30/+8 | |
2009-02-08 | mxfdemux: Resolve source package before accessing it's members | Sebastian Dröge | 1 | -0/+7 | |
2009-02-08 | mxfdemux: For material packages make sure that tracks resolve to source tracks | Sebastian Dröge | 1 | -2/+44 | |
2009-02-07 | mxfdemux: Don't include multiple descriptors in the track's descriptors | Sebastian Dröge | 1 | -2/+4 | |
2009-02-06 | mxfdemux: Add data definition for Avid vendor specific picture essence | Sebastian Dröge | 1 | -1/+5 | |
2009-01-31 | Don't use GLib 2.16 API unconditionally | Sebastian Dröge | 1 | -10/+40 | |
2009-01-31 | Don't complain if the preface has no primary package set | Sebastian Dröge | 1 | -6/+8 | |
2009-01-22 | Store MXF metadata in a hash table, keyed by UID | Sebastian Dröge | 1 | -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. | |||||
2009-01-22 | Update copyrights for 2009 | Sebastian Dröge | 1 | -1/+1 | |
2009-01-22 | Simplify parsing of UL/UUID arrays | Sebastian Dröge | 1 | -188/+111 | |
Simplify parsing of UL/UUID arrays by abstracting it into a separate function. | |||||
2009-01-22 | Implement parsing of DMS1 (SMPTE S380M) | Sebastian Dröge | 1 | -109/+144 | |
2009-01-05 | gst/mxf/: "Generation UID" and "This Generation UID" are different so handle ↵ | Sebastian Dröge | 1 | -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. | |||||
2009-01-05 | gst/mxf/: Fix compilation with debugging disabled. | Sebastian Dröge | 1 | -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. | |||||
2008-12-31 | Implement support for OP2a/b/c and OP3a/b/c, i.e. tracks with more than a ↵ | Sebastian Dröge | 1 | -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. | |||||
2008-12-22 | gst/mxf/mxfmetadata.*: If resolving a metadata object failed the first time ↵ | Sebastian Dröge | 1 | -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. | |||||
2008-12-19 | gst/mxf/: Add mxf_metadata_generic_sound_essence_descriptor_set_caps() to ↵ | Sebastian Dröge | 1 | -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?). | |||||
2008-12-16 | gst/mxf/: Rename MXFMetadataBase methods to reflect that they belong to | Sebastian Dröge | 1 | -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. | |||||
2008-12-15 | gst/mxf/: Return FALSE when parsing a metadata tag failed. | Sebastian Dröge | 1 | -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. | |||||
2008-12-15 | gst/mxf/: Convert the structural metadata to GstMiniObjects to make a lot of ↵ | Sebastian Dröge | 1 | -0/+3306 | |
code easier and to make everything bette... Original commit message from CVS: * gst/mxf/Makefile.am: * gst/mxf/mxf.c: (plugin_init): * gst/mxf/mxfaes-bwf.c: (mxf_metadata_wave_audio_essence_descriptor_handle_tag), (mxf_metadata_wave_audio_essence_descriptor_init), (mxf_metadata_wave_audio_essence_descriptor_class_init), (mxf_metadata_aes3_audio_essence_descriptor_finalize), (mxf_metadata_aes3_audio_essence_descriptor_handle_tag), (mxf_metadata_aes3_audio_essence_descriptor_init), (mxf_metadata_aes3_audio_essence_descriptor_class_init), (mxf_is_aes_bwf_essence_track), (mxf_bwf_create_caps), (mxf_aes3_create_caps), (mxf_aes_bwf_create_caps), (mxf_aes_bwf_init): * gst/mxf/mxfaes-bwf.h: * gst/mxf/mxfalaw.c: (mxf_is_alaw_essence_track), (mxf_alaw_create_caps), (mxf_alaw_init): * gst/mxf/mxfalaw.h: * gst/mxf/mxfd10.c: (mxf_is_d10_essence_track), (mxf_d10_create_caps), (mxf_d10_init): * gst/mxf/mxfd10.h: * gst/mxf/mxfdemux.c: (gst_mxf_demux_reset_metadata), (gst_mxf_demux_handle_header_metadata_resolve_references), (gst_mxf_demux_find_package), (gst_mxf_demux_choose_package), (gst_mxf_demux_handle_header_metadata_update_streams), (gst_mxf_demux_handle_metadata), (gst_mxf_demux_handle_generic_container_essence_element), (gst_mxf_demux_handle_klv_packet), (gst_mxf_demux_src_query): * gst/mxf/mxfdemux.h: * gst/mxf/mxfdv-dif.c: (mxf_is_dv_dif_essence_track), (mxf_dv_dif_create_caps), (mxf_dv_dif_init): * gst/mxf/mxfdv-dif.h: * gst/mxf/mxfjpeg2000.c: (mxf_is_jpeg2000_essence_track), (mxf_jpeg2000_create_caps), (mxf_jpeg2000_init): * gst/mxf/mxfjpeg2000.h: * gst/mxf/mxfmetadata.c: (mxf_metadata_base_finalize), (mxf_metadata_base_handle_tag), (mxf_metadata_base_resolve), (mxf_metadata_base_init), (mxf_metadata_base_class_init), (mxf_metadata_parse), (mxf_metadata_resolve), (mxf_metadata_handle_tag), (mxf_metadata_class_init), (mxf_metadata_init), (mxf_metadata_init_types), (mxf_metadata_register), (mxf_metadata_new), (mxf_metadata_preface_finalize), (mxf_metadata_preface_handle_tag), (mxf_metadata_preface_resolve), (mxf_metadata_preface_init), (mxf_metadata_preface_class_init), (mxf_metadata_identification_finalize), (mxf_metadata_identification_handle_tag), (mxf_metadata_identification_init), (mxf_metadata_identification_class_init), (mxf_metadata_content_storage_finalize), (mxf_metadata_content_storage_handle_tag), (mxf_metadata_content_storage_resolve), (mxf_metadata_content_storage_init), (mxf_metadata_content_storage_class_init), (mxf_metadata_essence_container_data_handle_tag), (mxf_metadata_essence_container_data_resolve), (mxf_metadata_essence_container_data_init), (mxf_metadata_essence_container_data_class_init), (mxf_metadata_generic_package_finalize), (mxf_metadata_generic_package_handle_tag), (mxf_metadata_generic_package_resolve), (mxf_metadata_generic_package_init), (mxf_metadata_generic_package_class_init), (mxf_metadata_material_package_resolve), (mxf_metadata_material_package_init), (mxf_metadata_material_package_class_init), (mxf_metadata_source_package_finalize), (mxf_metadata_source_package_handle_tag), (mxf_metadata_source_package_resolve), (mxf_metadata_source_package_init), (mxf_metadata_source_package_class_init), (mxf_metadata_track_finalize), (mxf_metadata_track_handle_tag), (mxf_metadata_track_resolve), (mxf_metadata_track_init), (mxf_metadata_track_class_init), (mxf_metadata_track_identifier_parse), (mxf_metadata_timeline_track_handle_tag), (mxf_metadata_timeline_track_init), (mxf_metadata_timeline_track_class_init), (mxf_metadata_event_track_handle_tag), (mxf_metadata_event_track_init), (mxf_metadata_event_track_class_init), (mxf_metadata_static_track_init), (mxf_metadata_static_track_class_init), (mxf_metadata_sequence_finalize), (mxf_metadata_sequence_handle_tag), (mxf_metadata_sequence_resolve), (mxf_metadata_sequence_init), (mxf_metadata_sequence_class_init), (mxf_metadata_structural_component_handle_tag), (mxf_metadata_structural_component_init), (mxf_metadata_structural_component_class_init), (mxf_metadata_timecode_component_handle_tag), (mxf_metadata_timecode_component_init), (mxf_metadata_timecode_component_class_init), (mxf_metadata_source_clip_handle_tag), (mxf_metadata_source_clip_resolve), (mxf_metadata_source_clip_init), (mxf_metadata_source_clip_class_init), (mxf_metadata_dm_source_clip_finalize), (mxf_metadata_dm_source_clip_handle_tag), (mxf_metadata_dm_source_clip_init), (mxf_metadata_dm_source_clip_class_init), (mxf_metadata_dm_segment_finalize), (mxf_metadata_dm_segment_handle_tag), (mxf_metadata_dm_segment_resolve), (mxf_metadata_dm_segment_init), (mxf_metadata_dm_segment_class_init), (mxf_metadata_generic_descriptor_finalize), (mxf_metadata_generic_descriptor_handle_tag), (mxf_metadata_generic_descriptor_resolve), (mxf_metadata_generic_descriptor_init), (mxf_metadata_generic_descriptor_class_init), (mxf_metadata_file_descriptor_handle_tag), (mxf_metadata_file_descriptor_init), (mxf_metadata_file_descriptor_class_init), (mxf_metadata_generic_picture_essence_descriptor_handle_tag), (mxf_metadata_generic_picture_essence_descriptor_init), (mxf_metadata_generic_picture_essence_descriptor_class_init), (mxf_metadata_generic_picture_essence_descriptor_set_caps), (mxf_metadata_generic_sound_essence_descriptor_handle_tag), (mxf_metadata_generic_sound_essence_descriptor_init), (mxf_metadata_generic_sound_essence_descriptor_class_init), (mxf_metadata_cdci_picture_essence_descriptor_handle_tag), (mxf_metadata_cdci_picture_essence_descriptor_init), (mxf_metadata_cdci_picture_essence_descriptor_class_init), (mxf_metadata_rgba_picture_essence_descriptor_finalize), (mxf_metadata_rgba_picture_essence_descriptor_handle_tag), (mxf_metadata_rgba_picture_essence_descriptor_init), (mxf_metadata_rgba_picture_essence_descriptor_class_init), (mxf_metadata_generic_data_essence_descriptor_handle_tag), (mxf_metadata_generic_data_essence_descriptor_init), (mxf_metadata_generic_data_essence_descriptor_class_init), (mxf_metadata_multiple_descriptor_finalize), (mxf_metadata_multiple_descriptor_handle_tag), (mxf_metadata_multiple_descriptor_resolve), (mxf_metadata_multiple_descriptor_init), (mxf_metadata_multiple_descriptor_class_init), (mxf_metadata_locator_init), (mxf_metadata_locator_class_init), (mxf_metadata_text_locator_finalize), (mxf_metadata_text_locator_handle_tag), (mxf_metadata_text_locator_init), (mxf_metadata_text_locator_class_init), (mxf_metadata_network_locator_finalize), (mxf_metadata_network_locator_handle_tag), (mxf_metadata_network_locator_init), (mxf_metadata_network_locator_class_init): * gst/mxf/mxfmetadata.h: * gst/mxf/mxfmpeg.c: (mxf_metadata_mpeg_video_descriptor_handle_tag), (mxf_metadata_mpeg_video_descriptor_init), (mxf_metadata_mpeg_video_descriptor_class_init), (mxf_is_mpeg_essence_track), (mxf_mpeg_es_create_caps), (mxf_mpeg_create_caps), (mxf_mpeg_init): * gst/mxf/mxfmpeg.h: * gst/mxf/mxfparse.c: (mxf_index_table_segment_parse), (mxf_local_tag_add_to_hash_table): * gst/mxf/mxfparse.h: * gst/mxf/mxftypes.h: * gst/mxf/mxfup.c: (mxf_is_up_essence_track), (mxf_up_create_caps), (mxf_up_init): * gst/mxf/mxfup.h: Convert the structural metadata to GstMiniObjects to make a lot of code easier and to make everything better extensible. Add a "registry" for metadata handlers to improve extensibility even more and to remove metadata type specifics from mxfdemux. Clean up a lot of parts and add some more NULL checks. |