summaryrefslogtreecommitdiffstats
path: root/gst/flv/gstflvparse.c
Commit message (Collapse)AuthorAgeFilesLines
* [MOVED FROM BAD 32/57] gst/flv/: Close the currently playing segment from ↵Sebastian Dröge2009-05-121-0/+8
| | | | | | | | | | | | | the streaming thread instead of the thread where the seek event is... Original commit message from CVS: * gst/flv/gstflvdemux.c: (gst_flv_demux_cleanup), (gst_flv_demux_handle_seek_pull), (gst_flv_demux_dispose): * gst/flv/gstflvdemux.h: * gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Close the currently playing segment from the streaming thread instead of the thread where the seek event is handled.
* [MOVED FROM BAD 29/57] gst/flv/gstflvparse.c: Use ↵Sebastian Dröge2009-05-121-6/+30
| | | | | | | | | | | | | gst_pad_alloc_buffer_and_set_caps() to make sure we get a buffer with caps that we can wor... Original commit message from CVS: * gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Use gst_pad_alloc_buffer_and_set_caps() to make sure we get a buffer with caps that we can work with (i.e. the pad's caps). Add non-keyframe video frames to the index too but without the keyframe flag. Add audio frames to the index only if we have no video stream.
* [MOVED FROM BAD 28/57] gst/flv/gstflvparse.c: Create pads from the pad ↵Sebastian Dröge2009-05-121-7/+16
| | | | | | | | | | templates, use fixed caps on them and only activate them after the ca... Original commit message from CVS: * gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Create pads from the pad templates, use fixed caps on them and only activate them after the caps are set.
* [MOVED FROM BAD 27/57] gst/flv/: Get an approximate duration of the file by ↵Sebastian Dröge2009-05-121-0/+31
| | | | | | | | | | | | looking at the timestamp of the last tag in pull mode. If we get... Original commit message from CVS: * gst/flv/gstflvdemux.c: (gst_flv_demux_loop): * gst/flv/gstflvparse.c: (gst_flv_parse_tag_timestamp): * gst/flv/gstflvparse.h: Get an approximate duration of the file by looking at the timestamp of the last tag in pull mode. If we get (maybe better) duration from metadata later we'll use that instead.
* [MOVED FROM BAD 24/57] gst/flv/gstflvparse.c: Correct caps for video codec ↵Sebastian Dröge2009-05-121-3/+24
| | | | | | | | | | | | | | id 5: It's On2 VP6 with alpha channel which needs a different dec... Original commit message from CVS: * gst/flv/gstflvparse.c: (gst_flv_parse_audio_negotiate), (gst_flv_parse_tag_audio), (gst_flv_parse_video_negotiate): Correct caps for video codec id 5: It's On2 VP6 with alpha channel which needs a different decoder and has different caps. Add support for audio codec id 14, which is MP3 with 8kHz sampling rate. Fix endianness and signedness for raw audio codec ids. Add support for alaw and mulaw audio.
* [MOVED FROM BAD 21/57] gst/flv/: Introduce demuxing support for AAC andJulien Moutte2009-05-121-196/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: 2008-06-14 Julien Moutte <julien@fluendo.com> * gst/flv/gstflvdemux.c: (gst_flv_demux_cleanup), (gst_flv_demux_dispose): * gst/flv/gstflvdemux.h: * gst/flv/gstflvparse.c: (gst_flv_parse_audio_negotiate), (gst_flv_parse_tag_audio), (gst_flv_parse_video_negotiate), (gst_flv_parse_tag_video): Introduce demuxing support for AAC and H.264/AVC inside FLV. * sys/dshowdecwrapper/gstdshowaudiodec.c: (gst_dshowaudiodec_init), (gst_dshowaudiodec_chain), (gst_dshowaudiodec_push_buffer), (gst_dshowaudiodec_sink_event), (gst_dshowaudiodec_setup_graph): * sys/dshowdecwrapper/gstdshowaudiodec.h: * sys/dshowdecwrapper/gstdshowvideodec.c: (gst_dshowvideodec_init), (gst_dshowvideodec_sink_event), (gst_dshowvideodec_chain), (gst_dshowvideodec_push_buffer), (gst_dshowvideodec_src_getcaps): * sys/dshowdecwrapper/gstdshowvideodec.h: Lot of random fixes to improve stability (ref counting, safety checks...)
* [MOVED FROM BAD 19/57] gst/flv/gstflvparse.c: Handle NULL returns from ↵Tim-Philipp Müller2009-05-121-3/+8
| | | | | | | | | | FLV_GET_STRING() more gracefully. Fixes crash caused by a strlen on a... Original commit message from CVS: * gst/flv/gstflvparse.c: (gst_flv_parse_metadata_item), (gst_flv_parse_tag_script): Handle NULL returns from FLV_GET_STRING() more gracefully. Fixes crash caused by a strlen on a NULL string (#527622).
* [MOVED FROM BAD 18/57] gst/flv/gstflvparse.c: Don't strdup (and thus leak) ↵Tim-Philipp Müller2009-05-121-4/+4
| | | | | | | | | | codec name strings when passing them to gst_tag_list_add(). Original commit message from CVS: * gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Don't strdup (and thus leak) codec name strings when passing them to gst_tag_list_add().
* [MOVED FROM BAD 17/57] gst/flv/gstflvparse.c: Fix list of supported and ↵Edward Hervey2009-05-121-8/+55
| | | | | | | | | | | known codecs. Original commit message from CVS: * gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Fix list of supported and known codecs. Emit tag with the codec name so it gets properly reported in totem and other applications.
* [MOVED FROM BAD 16/57] gst/flv/gstflvparse.c: Output segment with proper ↵Edward Hervey2009-05-121-8/+12
| | | | | | | | | | 'stop' value, makes flvdemux 100% compatible with gnonlin. Original commit message from CVS: * gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Output segment with proper 'stop' value, makes flvdemux 100% compatible with gnonlin.
* [MOVED FROM BAD 15/57] gst/flv/gstflvparse.c: Add mapping for Nellymoser ↵Edward Hervey2009-05-121-0/+18
| | | | | | | | | | | ASAO audio codec. Original commit message from CVS: * gst/flv/gstflvparse.c: Add mapping for Nellymoser ASAO audio codec. (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Make sure we actually have data to read at the end of the tag. This avoids trying to allocate negative buffers.
* [MOVED FROM BAD 14/57] gst/flv/gstflvparse.c: Don't emit no-more-pads for ↵Julien Moutte2009-05-121-10/+10
| | | | | | | | | | | | | single pad scenarios as the header is definitely not reliable. We ... Original commit message from CVS: 2007-10-22 Julien MOUTTE <julien@moutte.net> * gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video), (gst_flv_parse_tag_type): Don't emit no-more-pads for single pad scenarios as the header is definitely not reliable. We emit them for 2 pads scenarios though to speed up media discovery.
* [MOVED FROM BAD 13/57] gst/flv/gstflvparse.c: I got it wrong again, audio ↵Julien Moutte2009-05-121-7/+6
| | | | | | | | | | | rate was not detected correctly in all cases. Original commit message from CVS: 2007-09-27 Julien MOUTTE <julien@moutte.net> * gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): I got it wrong again, audio rate was not detected correctly in all cases.
* [MOVED FROM BAD 12/57] gst/flv/gstflvparse.c: codec_data is needed for every ↵Julien Moutte2009-05-121-2/+3
| | | | | | | | | | | | tag not just the first one. (Fix a stupid bug i introduced with... Original commit message from CVS: 2007-09-26 Julien MOUTTE <julien@moutte.net> * gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): codec_data is needed for every tag not just the first one. (Fix a stupid bug i introduced without testing)
* [MOVED FROM BAD 11/57] gst/flv/gstflvparse.c: Fix bit masks operations to be ↵Julien Moutte2009-05-121-49/+27
| | | | | | | | | | | | sure we detect the codec_tags and sample rates correctly. Original commit message from CVS: 2007-09-26 Julien MOUTTE <julien@moutte.net> * gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Fix bit masks operations to be sure we detect the codec_tags and sample rates correctly. Fix raw audio caps generation.
* [MOVED FROM BAD 10/57] gst/: Printf format fixes (#476128).Peter Kjellerstedt2009-05-121-3/+4
| | | | | | | | | | | Original commit message from CVS: Patch by: Peter Kjellerstedt <pkj at axis com> * gst-libs/gst/app/gstappsink.c: * gst/flv/gstflvdemux.c: * gst/flv/gstflvparse.c: * gst/interleave/deinterleave.c: * gst/switch/gstswitch.c: Printf format fixes (#476128).
* [MOVED FROM BAD 06/57] gst/flv/: Handle pixel aspect ratio through metadata ↵Julien Moutte2009-05-121-1/+22
| | | | | | | | | | | | | | | | tags like ASF does. Fluendo muxer supports this and Original commit message from CVS: 2007-08-22 Julien MOUTTE <julien@moutte.net> * gst/flv/gstflvdemux.c: (gst_flv_demux_cleanup), (gst_flv_demux_pull_tag): * gst/flv/gstflvdemux.h: * gst/flv/gstflvparse.c: (gst_flv_parse_metadata_item), (gst_flv_parse_tag_script), (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Handle pixel aspect ratio through metadata tags like ASF does. Fluendo muxer supports this and Flash players can support it as well this way.
* [MOVED FROM BAD 05/57] gst/flv/: Make sure we don't try filling up the index ↵Julien Moutte2009-05-121-23/+37
| | | | | | | | | | | | | | | if no times object was parsed. Fix the way we decide to push ta... Original commit message from CVS: 2007-08-22 Julien MOUTTE <julien@moutte.net> * gst/flv/gstflvdemux.c: (gst_flv_demux_pull_tag): * gst/flv/gstflvparse.c: (gst_flv_parse_metadata_item), (gst_flv_parse_tag_script), (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Make sure we don't try filling up the index if no times object was parsed. Fix the way we decide to push tags and emit no-more-pads. Fix some printf typing in debugging.
* [MOVED FROM BAD 03/57] gst/flv/gstflvdemux.c: First method for seeking in ↵Julien Moutte2009-05-121-62/+158
| | | | | | | | | | | | | | | | | | | | | | pull mode using the index built step by step or coming from metadata. Original commit message from CVS: 2007-08-14 Julien MOUTTE <julien@moutte.net> * gst/flv/gstflvdemux.c: (gst_flv_demux_cleanup), (gst_flv_demux_adapter_flush), (gst_flv_demux_chain), (gst_flv_demux_pull_tag), (gst_flv_demux_do_seek), (gst_flv_demux_handle_seek), (gst_flv_demux_sink_event), (gst_flv_demux_src_event), (gst_flv_demux_query), (gst_flv_demux_change_state), (gst_flv_demux_set_index), (gst_flv_demux_get_index), (gst_flv_demux_dispose), (gst_flv_demux_class_init): First method for seeking in pull mode using the index built step by step or coming from metadata. * gst/flv/gstflvdemux.h: * gst/flv/gstflvparse.c: (FLV_GET_STRING), (gst_flv_parse_metadata_item), (gst_flv_parse_tag_script), (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Parse more metadata types and keyframes index.
* [MOVED FROM BAD 02/57] gst/flv/: Handle not linked pads, try to make it ↵Julien Moutte2009-05-121-6/+57
| | | | | | | | | | | | | | | | | | reusable, more safety checks. Original commit message from CVS: 2007-07-25 Julien MOUTTE <julien@moutte.net> (gst_flv_demux_chain), (gst_flv_demux_pull_tag), (gst_flv_demux_change_state), (gst_flv_demux_dispose), (gst_flv_demux_init): * gst/flv/gstflvdemux.h: * gst/flv/gstflvparse.c: (FLV_GET_STRING), (gst_flv_parse_metadata_item), (gst_flv_parse_tag_script), (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video), (gst_flv_parse_header): * gst/flv/gstflvparse.h: Handle not linked pads, try to make it reusable, more safety checks.
* [MOVED FROM BAD 01/57] Adds a first draft of an FLV demuxer.Julien Moutte2009-05-121-0/+797
Original commit message from CVS: 2007-07-19 Julien MOUTTE <julien@moutte.net> * configure.ac: * gst/flv/Makefile.am: * gst/flv/gstflvdemux.c: (gst_flv_demux_flush), (gst_flv_demux_cleanup), (gst_flv_demux_chain), (gst_flv_demux_pull_tag), (gst_flv_demux_pull_header), (gst_flv_demux_seek_to_prev_keyframe), (gst_flv_demux_loop), (gst_flv_demux_sink_activate), (gst_flv_demux_sink_activate_push), (gst_flv_demux_sink_activate_pull), (gst_flv_demux_sink_event), (gst_flv_demux_change_state), (gst_flv_demux_dispose), (gst_flv_demux_base_init), (gst_flv_demux_class_init), (gst_flv_demux_init), (plugin_init): * gst/flv/gstflvdemux.h: * gst/flv/gstflvparse.c: (FLV_GET_BEUI24), (FLV_GET_STRING), (gst_flv_demux_query_types), (gst_flv_demux_query), (gst_flv_parse_metadata_item), (gst_flv_parse_tag_script), (gst_flv_parse_tag_audio), (gst_flv_parse_tag_video), (gst_flv_parse_tag_type), (gst_flv_parse_header): * gst/flv/gstflvparse.h: Adds a first draft of an FLV demuxer. It does not do seeking yet, it supports pull and push mode so YES you can use it to play youtube videos directly from an HTTP uri. Not so much testing done yet but it parses metadata, reply to duration queries, etc...