summaryrefslogtreecommitdiffstats
path: root/gst/mxf/mxf.c
AgeCommit message (Collapse)AuthorFilesLines
2009-03-26mxf: Source files and #include cleanupSebastian Dröge1-8/+8
2009-03-21mxf: Add MXF muxerSebastian Dröge1-3/+5
This muxer currently only supports OP1a and is probably not yet 100% complying to the standards.
2009-02-21mxfdemux: Post structural metadata tree as tag on the busSebastian Dröge1-0/+8
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-04Post an UMID tag with the current package's UMIDSebastian Dröge1-0/+8
2009-01-22Implement parsing of DMS1 (SMPTE S380M)Sebastian Dröge1-0/+2
2008-12-22gst/mxf/: Cleanup of the includes.Sebastian Dröge1-1/+0
Original commit message from CVS: * gst/mxf/mxf.c: * gst/mxf/mxfaes-bwf.h: * gst/mxf/mxfd10.c: * gst/mxf/mxfdms1.c: * gst/mxf/mxfdms1.h: * gst/mxf/mxfmpeg.h: * gst/mxf/mxftypes.h: Cleanup of the includes.
2008-12-18gst/mxf/: Add support for VC-3 (aka DNxHD essence, see SMPTE 2019-4).Sebastian Dröge1-0/+2
Original commit message from CVS: * gst/mxf/Makefile.am: * gst/mxf/mxf.c: (plugin_init): * gst/mxf/mxfvc3.c: (mxf_is_vc3_essence_track), (mxf_vc3_handle_essence_element), (mxf_vc3_create_caps), (mxf_vc3_init): * gst/mxf/mxfvc3.h: Add support for VC-3 (aka DNxHD essence, see SMPTE 2019-4). This is untested because of lack of sample files but should work fine.
2008-12-15gst/mxf/: Convert the structural metadata to GstMiniObjects to make a lot of ↵Sebastian Dröge1-0/+17
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.
2008-11-21Add first version of an MXF demuxer. Currently it supportsSebastian Dröge1-0/+46
Original commit message from CVS: * configure.ac: * gst/mxf/Makefile.am: * gst/mxf/mxf.c: (plugin_init): * gst/mxf/mxfaes-bwf.c: (mxf_metadata_wave_audio_essence_descriptor_parse), (mxf_metadata_wave_audio_essence_descriptor_reset), (mxf_is_aes_bwf_essence_track), (mxf_bwf_handle_essence_element), (mxf_bwf_create_caps), (mxf_aes_bwf_create_caps): * gst/mxf/mxfaes-bwf.h: * gst/mxf/mxfdemux.c: (gst_mxf_pad_finalize), (gst_mxf_pad_class_init), (gst_mxf_pad_init), (gst_mxf_demux_flush), (gst_mxf_demux_remove_pad), (gst_mxf_demux_reset_mxf_state), (gst_mxf_demux_reset_metadata), (gst_mxf_demux_reset), (gst_mxf_demux_pull_range), (gst_mxf_demux_push_src_event), (gst_mxf_demux_handle_partition_pack), (gst_mxf_demux_handle_primer_pack), (gst_mxf_demux_handle_metadata_preface), (gst_mxf_demux_handle_metadata_identification), (gst_mxf_demux_handle_metadata_content_storage), (gst_mxf_demux_handle_metadata_essence_container_data), (gst_mxf_demux_handle_metadata_material_package), (gst_mxf_demux_handle_metadata_source_package), (gst_mxf_demux_handle_metadata_track), (gst_mxf_demux_handle_metadata_sequence), (gst_mxf_demux_handle_metadata_structural_component), (gst_mxf_demux_handle_metadata_generic_descriptor), (gst_mxf_demux_handle_metadata_file_descriptor), (gst_mxf_demux_handle_metadata_multiple_descriptor), (gst_mxf_demux_handle_metadata_generic_picture_essence_descriptor), (gst_mxf_demux_handle_metadata_cdci_picture_essence_descriptor), (gst_mxf_demux_handle_metadata_mpeg_video_descriptor), (gst_mxf_demux_handle_metadata_generic_sound_essence_descriptor), (gst_mxf_demux_handle_metadata_wave_audio_essence_descriptor), (gst_mxf_demux_handle_metadata_locator), (gst_mxf_demux_handle_header_metadata_resolve_references), (gst_mxf_demux_handle_header_metadata_update_streams), (gst_mxf_demux_handle_metadata), (gst_mxf_demux_handle_generic_container_system_item), (gst_mxf_demux_handle_generic_container_essence_element), (gst_mxf_demux_handle_random_index_pack), (gst_mxf_demux_handle_index_table_segment), (gst_mxf_demux_pull_klv_packet), (gst_mxf_demux_parse_footer_metadata), (gst_mxf_demux_handle_klv_packet), (gst_mxf_demux_pull_and_handle_klv_packet), (gst_mxf_demux_loop), (gst_mxf_demux_chain), (gst_mxf_demux_src_event), (gst_mxf_demux_src_query_type), (gst_mxf_demux_src_query), (gst_mxf_demux_sink_activate), (gst_mxf_demux_sink_activate_push), (gst_mxf_demux_sink_activate_pull), (gst_mxf_demux_sink_event), (gst_mxf_demux_change_state), (gst_mxf_demux_finalize), (gst_mxf_demux_base_init), (gst_mxf_demux_class_init), (gst_mxf_demux_init): * gst/mxf/mxfdemux.h: * gst/mxf/mxfmpeg.c: (mxf_metadata_mpeg_video_descriptor_parse), (mxf_metadata_mpeg_video_descriptor_reset), (mxf_is_mpeg_video_essence_track), (mxf_mpeg_video_handle_essence_element), (mxf_mpeg_video_create_caps): * gst/mxf/mxfmpeg.h: * gst/mxf/mxfparse.c: (mxf_is_mxf_packet), (mxf_is_partition_pack), (mxf_is_header_partition_pack), (mxf_is_body_partition_pack), (mxf_is_footer_partition_pack), (mxf_is_fill), (mxf_is_primer_pack), (mxf_is_metadata), (mxf_is_random_index_pack), (mxf_is_index_table_segment), (mxf_is_generic_container_system_item), (mxf_is_generic_container_essence_element), (mxf_is_generic_container_essence_container_label), (mxf_ul_is_equal), (mxf_ul_is_zero), (mxf_ul_to_string), (mxf_umid_is_equal), (mxf_umid_is_zero), (mxf_umid_to_string), (gst_mxf_ul_hash), (gst_mxf_ul_equal), (mxf_timestamp_parse), (mxf_timestamp_is_unknown), (mxf_timestamp_compare), (mxf_fraction_parse), (mxf_utf16_to_utf8), (mxf_product_version_parse), (mxf_partition_pack_parse), (mxf_partition_pack_reset), (_mxf_mapping_ul_free), (mxf_primer_pack_parse), (mxf_primer_pack_reset), (mxf_local_tag_parse), (gst_mxf_local_tag_free), (gst_metadata_add_custom_tag), (mxf_metadata_preface_parse), (mxf_metadata_preface_reset), (mxf_metadata_identification_parse), (mxf_metadata_identification_reset), (mxf_metadata_content_storage_parse), (mxf_metadata_content_storage_reset), (mxf_metadata_essence_container_data_parse), (mxf_metadata_essence_container_data_reset), (mxf_metadata_generic_package_parse), (mxf_metadata_generic_package_reset), (mxf_metadata_track_parse), (mxf_metadata_track_reset), (mxf_metadata_track_identifier_parse), (mxf_metadata_sequence_parse), (mxf_metadata_sequence_reset), (mxf_metadata_structural_component_parse), (mxf_metadata_structural_component_reset), (mxf_metadata_generic_descriptor_parse), (mxf_metadata_generic_descriptor_reset), (mxf_metadata_file_descriptor_parse), (mxf_metadata_file_descriptor_reset), (mxf_metadata_generic_sound_essence_descriptor_parse), (mxf_metadata_generic_sound_essence_descriptor_reset), (mxf_metadata_generic_picture_essence_descriptor_parse), (mxf_metadata_generic_picture_essence_descriptor_reset), (mxf_metadata_cdci_picture_essence_descriptor_parse), (mxf_metadata_cdci_picture_essence_descriptor_reset), (mxf_metadata_multiple_descriptor_parse), (mxf_metadata_multiple_descriptor_reset), (mxf_metadata_locator_parse), (mxf_metadata_locator_reset): * gst/mxf/mxfparse.h: * gst/mxf/mxftypes.h: Add first version of an MXF demuxer. Currently it supports MPEG video and raw audio and OP 1a/b/c.