summaryrefslogtreecommitdiffstats
path: root/gst
AgeCommit message (Collapse)AuthorFilesLines
2009-01-05gst/mxf/: Fix compilation with debugging disabled.Sebastian Dröge4-16/+66
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.
2009-01-02gst/rtpmanager/: When an SSRC is found on the caps of the sender RTP, use ↵Olivier Crete2-0/+28
this as the internal SSRC. Fixes #565910. Original commit message from CVS: Patch by: Olivier Crete <tester at tester dot ca> * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_setcaps_send_rtp), (create_send_rtp_sink): * gst/rtpmanager/rtpsession.c: (rtp_session_set_internal_ssrc): When an SSRC is found on the caps of the sender RTP, use this as the internal SSRC. Fixes #565910.
2009-01-02gst/rtpmanager/: Rename a method to better reflect what it really does.Wim Taymans3-19/+9
Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_event_send_rtp_sink), (gst_rtp_session_getcaps_send_rtp): * gst/rtpmanager/rtpsession.c: (check_collision), (rtp_session_schedule_bye_locked), (rtp_session_schedule_bye): * gst/rtpmanager/rtpsession.h: Rename a method to better reflect what it really does.
2009-01-02gst/mpegdemux/gstmpegdemux.c: Initialize scr_rate_n and scr_rate_d in order ↵Alessandro Decina1-0/+3
to fix compiler warnings. Original commit message from CVS: * gst/mpegdemux/gstmpegdemux.c: Initialize scr_rate_n and scr_rate_d in order to fix compiler warnings.
2008-12-31Implement support for OP2a/b/c and OP3a/b/c, i.e. tracks with more than a ↵Sebastian Dröge11-116/+320
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-29gst/mpegdemux/gstmpegdemux.c: Use the adjusted SCR for calculating the mux rate.Wim Taymans1-6/+18
Original commit message from CVS: * gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_src_query), (gst_flups_demux_parse_pack_start): Use the adjusted SCR for calculating the mux rate. Don't update the rate estimation after a discont.
2008-12-29gst/mpegdemux/gstmpegdemux.*: The position member in the newsegment event ↵Wim Taymans2-4/+7
corresponds to the stream_time of the segme... Original commit message from CVS: * gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_send_data): * gst/mpegdemux/gstmpegdemux.h: The position member in the newsegment event corresponds to the stream_time of the segment start position.
2008-12-29gst/mpegdemux/gstmpegdemux.c: Converting from time to bytes operates on the ↵Robin Stocker1-3/+2
stream_time, not the SCR timeline. Original commit message from CVS: Patch by: Robin Stocker <robin at nibor dot org> * gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_src_query): Converting from time to bytes operates on the stream_time, not the SCR timeline. The position reporting should happen in stream_time, not the segment timestamp range. See #557161.
2008-12-29gst/mpegdemux/mpegtspacketizer.c: Fix memleak. Fixes #565614.Sebastian Pölsterl1-0/+1
Original commit message from CVS: Patch by: Sebastian Pölsterl <sebp at k-d-w dot org> * gst/mpegdemux/mpegtspacketizer.c: (mpegts_packetizer_parse_eit): Fix memleak. Fixes #565614.
2008-12-29gst/mpegdemux/mpegtspacketizer.c: Add a scrambled field to the service ↵Sebastian Pölsterl1-4/+5
structures retrieved from SDT to determine if ... Original commit message from CVS: Patch by: Sebastian Pölsterl <sebp at k-d-w dot org> * gst/mpegdemux/mpegtspacketizer.c: (mpegts_packetizer_parse_sdt): Add a scrambled field to the service structures retrieved from SDT to determine if a channel is scrambled. Fixes #565613.
2008-12-29gst/pcapparse/: Patch to make gstpcapparse compile with mingw32 gcc. Fixes ↵Damien Lespiau2-2/+9
#565439. Original commit message from CVS: Patch by: Damien Lespiau <damien dot lespiau at gmail dot com> * gst/pcapparse/Makefile.am: * gst/pcapparse/gstpcapparse.c: Patch to make gstpcapparse compile with mingw32 gcc. Fixes #565439.
2008-12-29gst/rtpmanager/gstrtpsession.c: Use method to get the internal SSRC.Wim Taymans2-2/+16
Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_getcaps_send_rtp): Use method to get the internal SSRC. * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (rtp_session_set_property), (rtp_session_get_property): Add property to congiure the internal SSRC of the session. Fixes #565910.
2008-12-29gst/rtpmanager/rtpsession.c: Only change the SSRC of the session and reset ↵Wim Taymans1-6/+8
the internal source when the SSRC actually... Original commit message from CVS: * gst/rtpmanager/rtpsession.c: (rtp_session_set_internal_ssrc): Only change the SSRC of the session and reset the internal source when the SSRC actually changed. See #565910.
2008-12-29gst/rtpmanager/rtpsource.*: When no payload was specified on the caps but ↵Wim Taymans2-4/+18
there was a clock-rate, assume the clock-ra... Original commit message from CVS: * gst/rtpmanager/rtpsource.c: (rtp_source_init), (rtp_source_update_caps), (get_clock_rate): * gst/rtpmanager/rtpsource.h: When no payload was specified on the caps but there was a clock-rate, assume the clock-rate corresponds to the first payload type found in the RTP packets. Fixes #565509.
2008-12-23gst/rtpmanager/rtpjitterbuffer.*: Keep track of the last outgoing timestamp ↵Arnout Vandecappelle2-2/+32
and of the last sender-side time. Timest... Original commit message from CVS: Patch by: Arnout Vandecappelle <arnout at mind dot be> * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_reset_skew), (calculate_skew): * gst/rtpmanager/rtpjitterbuffer.h: Keep track of the last outgoing timestamp and of the last sender-side time. Timestamps can only go forward if they do at the sender side, can only go back if they do at the sender side, and remain the same if they remain the same at the sender side. Fixes #565319.
2008-12-22gst/mxf/mxfmpeg.c: Add initial support for h.264 video (SMPTE RP2008).Sebastian Dröge1-9/+34
Original commit message from CVS: * gst/mxf/mxfmpeg.c: (mxf_mpeg_es_create_caps), (mxf_mpeg_create_caps): Add initial support for h.264 video (SMPTE RP2008).
2008-12-22gst/mxf/mxfmetadata.*: If resolving a metadata object failed the first time ↵Sebastian Dröge2-4/+17
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-22gst/mxf/: Cleanup of the includes.Sebastian Dröge7-13/+66
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-19gst/qtmux/gstqtmux.c: Do not tempt or suggest to violate gst_collect_pads ↵Mark Nauwelaerts1-1/+0
API specification. Original commit message from CVS: * gst/qtmux/gstqtmux.c: (gst_qt_mux_change_state): Do not tempt or suggest to violate gst_collect_pads API specification.
2008-12-19gst/qtmux/: Dual license qtmux LGPL/MIT. Fixes #564232.Mark Nauwelaerts12-0/+277
Original commit message from CVS: * gst/qtmux/atoms.c: * gst/qtmux/atoms.h: * gst/qtmux/descriptors.c: * gst/qtmux/descriptors.h: * gst/qtmux/fourcc.h: * gst/qtmux/ftypcc.h: * gst/qtmux/gstqtmux.c: * gst/qtmux/gstqtmux.h: * gst/qtmux/gstqtmuxmap.c: * gst/qtmux/gstqtmuxmap.h: * gst/qtmux/properties.c: * gst/qtmux/properties.h: Dual license qtmux LGPL/MIT. Fixes #564232.
2008-12-19gst/mxf/: Add mxf_metadata_generic_sound_essence_descriptor_set_caps() to ↵Sebastian Dröge7-69/+93
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-18gst/mxf/: Add support for VC-3 (aka DNxHD essence, see SMPTE 2019-4).Sebastian Dröge4-0/+183
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-17gst/mxf/mxfdemux.c: In push mode skip the run in again if we get buffers ↵Sebastian Dröge1-4/+9
with an offset before the run in. This can h... Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_chain): In push mode skip the run in again if we get buffers with an offset before the run in. This can happen on seeks for example.
2008-12-16Totally remove the internal taglists and fully use tagsetter. Fixes various ↵Stefan Kost2-35/+16
tag muxing issues. Original commit message from CVS: * ext/celt/gstceltenc.c: * ext/celt/gstceltenc.h: * ext/metadata/gstmetadatamux.c: * gst/qtmux/gstqtmux.c: * gst/qtmux/gstqtmux.h: Totally remove the internal taglists and fully use tagsetter. Fixes various tag muxing issues.
2008-12-16gst/mxf/: Implement an essence element handling registry and use this ↵Sebastian Dröge17-415/+387
instead of an hardcoded, large if-then-else block. Original commit message from CVS: * gst/mxf/mxfaes-bwf.c: (mxf_is_aes_bwf_essence_track), (mxf_bwf_handle_essence_element), (mxf_aes3_handle_essence_element), (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_handle_essence_element), (mxf_alaw_create_caps), (mxf_alaw_init): * gst/mxf/mxfalaw.h: * gst/mxf/mxfd10.c: (mxf_is_d10_essence_track), (mxf_d10_picture_handle_essence_element), (mxf_d10_sound_handle_essence_element), (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_update_streams), (gst_mxf_demux_handle_generic_container_essence_element): * gst/mxf/mxfdv-dif.c: (mxf_is_dv_dif_essence_track), (mxf_dv_dif_handle_essence_element), (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_handle_essence_element), (mxf_jpeg2000_create_caps), (mxf_jpeg2000_init): * gst/mxf/mxfjpeg2000.h: * gst/mxf/mxfmpeg.c: (mxf_is_mpeg_essence_track), (mxf_mpeg_video_handle_essence_element), (mxf_mpeg_audio_handle_essence_element), (mxf_mpeg_es_create_caps), (mxf_mpeg_create_caps), (mxf_mpeg_init): * gst/mxf/mxfmpeg.h: * gst/mxf/mxfparse.c: (mxf_essence_element_handler_register), (mxf_essence_element_handler_find): * gst/mxf/mxfparse.h: * gst/mxf/mxfup.c: (mxf_is_up_essence_track), (mxf_up_handle_essence_element), (mxf_up_rgba_create_caps), (mxf_up_create_caps), (mxf_up_init): * gst/mxf/mxfup.h: Implement an essence element handling registry and use this instead of an hardcoded, large if-then-else block.
2008-12-16Add initial documentation for the MXF plugin and mxfdemux.Sebastian Dröge2-4/+19
Original commit message from CVS: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-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/gst-plugins-bad-plugins.prerequisites: * docs/plugins/inspect/plugin-ladspa.xml: * docs/plugins/inspect/plugin-musepack.xml: * docs/plugins/inspect/plugin-mxf.xml: * gst/mxf/mxfdemux.c: * gst/mxf/mxfdemux.h: Add initial documentation for the MXF plugin and mxfdemux.
2008-12-16gst/mxf/: Rename MXFMetadataBase methods to reflect that they belong toSebastian Dröge3-25/+28
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-15gst/mxf/: Return FALSE when parsing a metadata tag failed.Sebastian Dröge2-46/+48
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-15gst/mxf/: Convert the structural metadata to GstMiniObjects to make a lot of ↵Sebastian Dröge23-4444/+4663
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-12-13gst/mxf/mxfdemux.c: Add a generic handler for descriptive metadata so we can ↵Sebastian Dröge1-2/+48
get some debug output and let users file... Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_descriptive_metadata), (gst_mxf_demux_handle_klv_packet): Add a generic handler for descriptive metadata so we can get some debug output and let users file bugs for unsupport descriptive metadata schemes.
2008-12-12gst/mxf/: Major update of the TODO lists. There's still much to do.Sebastian Dröge7-15/+49
Original commit message from CVS: * gst/mxf/mxfaes-bwf.c: * gst/mxf/mxfalaw.c: (mxf_alaw_create_caps): * gst/mxf/mxfdemux.c: * gst/mxf/mxfdv-dif.c: (mxf_dv_dif_create_caps): * gst/mxf/mxfjpeg2000.c: * gst/mxf/mxfmpeg.c: * gst/mxf/mxfup.c: Major update of the TODO lists. There's still much to do.
2008-12-11gst/mxf/: Implement parsing of Event Tracks, Static Tracks, DM Segments and ↵Sebastian Dröge4-33/+224
DM Source Clips as a preparation for desc... Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_metadata_track), (gst_mxf_demux_handle_header_metadata_resolve_references), (gst_mxf_demux_handle_metadata): * gst/mxf/mxfparse.c: (mxf_metadata_track_parse), (mxf_metadata_structural_component_parse), (mxf_metadata_structural_component_reset): * gst/mxf/mxfparse.h: * gst/mxf/mxftypes.h: Implement parsing of Event Tracks, Static Tracks, DM Segments and DM Source Clips as a preparation for descriptive metadata support. Next step is to implement SMPTE S380M, "Descriptive Metadata Scheme-1".
2008-12-09gst/mxf/mxfjpeg2000.c: Implement detection of the colorspace used by theSebastian Dröge1-4/+63
Original commit message from CVS: * gst/mxf/mxfjpeg2000.c: (mxf_jpeg2000_create_caps): Implement detection of the colorspace used by the JPEG2000 codestream. XYZ colorspace isn't supported by our decoders yet unfortunately.
2008-12-08gst/mxf/mxfparse.c: All frame layout values except 0 are for interlaced ↵Sebastian Dröge1-1/+1
video, not only 1 and 2. Original commit message from CVS: * gst/mxf/mxfparse.c: (mxf_metadata_generic_picture_essence_descriptor_set_caps): All frame layout values except 0 are for interlaced video, not only 1 and 2.
2008-12-08gst/mxf/: Remove the concept of "final" metadata, broken files have updated ↵Sebastian Dröge3-41/+37
metadata in following partitions even if ... Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_reset_metadata), (gst_mxf_demux_handle_primer_pack), (gst_mxf_demux_handle_metadata_preface), (gst_mxf_demux_handle_header_metadata_resolve_references), (gst_mxf_demux_choose_package), (gst_mxf_demux_handle_header_metadata_update_streams), (gst_mxf_demux_parse_footer_metadata), (gst_mxf_demux_handle_klv_packet): * gst/mxf/mxfdemux.h: * gst/mxf/mxftypes.h: Remove the concept of "final" metadata, broken files have updated metadata in following partitions even if the current partition is closed and complete. If there's a second primer pack inside a partition ignore the second one instead of throwing an error. Store the type of a track (audio, video, timestamp, ...) inside the track struct. Post no-more-pads only once for a stream and not a second time when switching the currently playing package. When updating all streams make sure that we could select and find a package instead of dereferencing NULL. Allow descriptive metadata inside metadata parts of a file when pulling the footer metadata too. Only switch the currently playing package if a new one was chosen and the metadata is in a resolved state. If the latter isn't true postpone the switch until the metadata is resolved. Pull the footer metadata directly after parsing the header partition pack if it's not closed or not complete instead of waiting until the next KLV packet.
2008-12-08gst/mxf/mxfup.c: Don't create a subbuffer, instead just change the buffer ↵Sebastian Dröge1-8/+4
metadata of the input buffer. Original commit message from CVS: * gst/mxf/mxfup.c: (mxf_up_handle_essence_element): Don't create a subbuffer, instead just change the buffer metadata of the input buffer.
2008-12-07gst/mxf/mxfdemux.c: Rename GstMXFPad to GstMXFDemuxPad to prevent name ↵Sebastian Dröge1-45/+38
clashes with the GstMXFMuxPad in the muxer (la... Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_pad_finalize), (gst_mxf_demux_pad_class_init), (gst_mxf_demux_pad_init), (gst_mxf_demux_remove_pad), (gst_mxf_demux_reset_metadata), (gst_mxf_demux_combine_flows), (gst_mxf_demux_handle_header_metadata_resolve_references), (gst_mxf_demux_handle_header_metadata_update_streams), (gst_mxf_demux_handle_generic_container_essence_element), (gst_mxf_demux_pull_random_index_pack), (gst_mxf_demux_loop), (gst_mxf_demux_src_query): Rename GstMXFPad to GstMXFDemuxPad to prevent name clashes with the GstMXFMuxPad in the muxer (later). Pull the random index pack only directly after skipping the run in and don't allocate an array for it if parsing it failed.
2008-12-07gst/mxf/mxfd10.c: Use the mapping data for storing the channel count and the ↵Sebastian Dröge1-15/+22
width instead of parsing caps for every ... Original commit message from CVS: * gst/mxf/mxfd10.c: (mxf_d10_sound_handle_essence_element), (mxf_d10_create_caps): Use the mapping data for storing the channel count and the width instead of parsing caps for every buffer.
2008-12-07gst/mxf/mxfup.c: Handle the image start and end offsets, otherwise we output ↵Sebastian Dröge1-1/+40
too large image buffers. Original commit message from CVS: * gst/mxf/mxfup.c: (mxf_up_handle_essence_element), (mxf_up_rgba_create_caps): Handle the image start and end offsets, otherwise we output too large image buffers.
2008-12-07gst/mxf/mxfmpeg.c: Set codec name tags for the MPEG audio essence.Sebastian Dröge1-0/+7
Original commit message from CVS: * gst/mxf/mxfmpeg.c: (mxf_mpeg_es_create_caps): Set codec name tags for the MPEG audio essence.
2008-12-07gst/mxf/: Add initial support for uncompressed video essence (SMPTE S384M).Sebastian Dröge6-7/+307
Original commit message from CVS: * gst/mxf/Makefile.am: * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_header_metadata_update_streams): * gst/mxf/mxftypes.h: * gst/mxf/mxfup.c: (mxf_is_up_essence_track), (mxf_up_handle_essence_element), (mxf_up_rgba_create_caps), (mxf_up_create_caps): * gst/mxf/mxfup.h: Add initial support for uncompressed video essence (SMPTE S384M). * gst/mxf/mxfparse.c: (mxf_metadata_rgba_picture_essence_descriptor_handle_tag), (mxf_metadata_rgba_picture_essence_descriptor_reset): Fix parsing of the RGBA descriptor and add support for parsing the pixel layout.
2008-12-06gst/mxf/mxfdemux.c: The previous partition field of the partition is ↵Sebastian Dröge1-10/+14
relative to the current partition and not to the... Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_parse_footer_metadata): The previous partition field of the partition is relative to the current partition and not to the offset of the header partition.
2008-12-06gst/mxf/mxfd10.c: Document decoding of the AES3 data and also skip the 32 ↵Sebastian Dröge1-0/+8
bit header in the beginning of every buffer... Original commit message from CVS: * gst/mxf/mxfd10.c: (mxf_d10_sound_handle_essence_element): Document decoding of the AES3 data and also skip the 32 bit header in the beginning of every buffer, otherwise we get one broken audio channel.
2008-12-05gst/mxf/: Implement parsing of the generic data essence descriptor.Sebastian Dröge5-39/+112
Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_reset_metadata), (gst_mxf_demux_handle_metadata_generic_data_essence_descriptor), (gst_mxf_demux_handle_header_metadata_resolve_references), (gst_mxf_demux_handle_metadata): * gst/mxf/mxfdemux.h: * gst/mxf/mxfparse.c: (mxf_metadata_generic_data_essence_descriptor_handle_tag), (mxf_metadata_generic_data_essence_descriptor_reset): * gst/mxf/mxfparse.h: * gst/mxf/mxftypes.h: Implement parsing of the generic data essence descriptor.
2008-12-05gst/mxf/mxfdemux.c: Generalize some lines of codes that are more or less the ↵Sebastian Dröge1-73/+34
same by a macro. Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_header_metadata_resolve_references): Generalize some lines of codes that are more or less the same by a macro.
2008-12-04gst/selector/gstinputselector.c: Ensure we emit notify::active-pad when ↵Michael Smith1-0/+11
auto-selecting a pad due to it having activit... Original commit message from CVS: * gst/selector/gstinputselector.c: Ensure we emit notify::active-pad when auto-selecting a pad due to it having activity and us not having an existing active pad. Fixes #563147
2008-12-04gst/mxf/: Coding style fixes.Sebastian Dröge1-66/+153
Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_header_metadata_resolve_references): * gst/mxf/mxfdv-dif.c: (mxf_dv_dif_create_caps): * gst/mxf/mxfjpeg2000.c: (mxf_jpeg2000_create_caps): Coding style fixes. * gst/mxf/mxfmpeg.c: (mxf_mpeg_audio_handle_essence_element), (mxf_mpeg_es_create_caps), (mxf_mpeg_create_caps): Add support for MPEG, AC3, DTS audio.
2008-12-04gst/mxf/mxfdemux.c: Ignore zero sized essence elements. They're often ↵Sebastian Dröge1-2/+8
inserted to fulfill the streaming requirements. Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_generic_container_essence_element): Ignore zero sized essence elements. They're often inserted to fulfill the streaming requirements.
2008-12-04gst/mxf/mxfparse.c: Fix setting of the height/width and PAR of video streams.Sebastian Dröge1-9/+13
Original commit message from CVS: * gst/mxf/mxfparse.c: (mxf_metadata_generic_picture_essence_descriptor_set_caps): Fix setting of the height/width and PAR of video streams.
2008-12-04gst/mxf/: Add support for SMPTE D10 essence (SMPTE 386M).Sebastian Dröge6-11/+305
Original commit message from CVS: * gst/mxf/Makefile.am: * gst/mxf/mxfd10.c: (mxf_is_d10_essence_track), (mxf_d10_picture_handle_essence_element), (mxf_d10_sound_handle_essence_element), (mxf_d10_create_caps): * gst/mxf/mxfd10.h: * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_header_metadata_update_streams): Add support for SMPTE D10 essence (SMPTE 386M). * gst/mxf/mxfparse.c: (mxf_metadata_generic_picture_essence_descriptor_set_caps): Don't set width/height and PAR on the caps as those values are wrong for most files (height is sometimes the height of a field and aspect ratio is some random value). * gst/mxf/mxfaes-bwf.c: (mxf_bwf_create_caps), (mxf_aes3_create_caps): Fix calculation of block align if it isn't set in the descriptor.