Julien Moutte [Mon, 24 Nov 2008 11:17:19 +0000 (11:17 +0000)]
[MOVED FROM BAD 47/57] gst/flv/gstflvdemux.c: Fix non key unit seeking by always going to the previous keyframe. Mark the discont flag when ...
Original commit message from CVS:
2008-11-24 Julien Moutte <julien@fluendo.com>
* gst/flv/gstflvdemux.c: (gst_flv_demux_find_offset),
(gst_flv_demux_handle_seek_push),
(gst_flv_demux_handle_seek_pull):
Fix non key unit seeking by always going to the previous
keyframe. Mark
the discont flag when we've moved in the file.
* gst/flv/gstflvparse.c: (gst_flv_parse_audio_negotiate): MP3
streams
are parsed already, makes autoplugged pipelines shorter.
Stefan Kost [Tue, 4 Nov 2008 12:42:30 +0000 (12:42 +0000)]
[MOVED FROM BAD 46/57] Don't install static libs for plugins. Fixes #550851 for -bad.
Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.
Sebastian Dröge [Tue, 28 Oct 2008 18:44:44 +0000 (18:44 +0000)]
[MOVED FROM BAD 45/57] gst/flv/gstflvdemux.c: Implement position query in time format.
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_query):
Implement position query in time format.
Sebastian Dröge [Tue, 28 Oct 2008 18:41:19 +0000 (18:41 +0000)]
[MOVED FROM BAD 44/57] gst/flv/: Put the GstSegment directly into the instance struct instead of allocating and free'ing it again.
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_cleanup),
(gst_flv_demux_loop), (gst_flv_demux_handle_seek_push),
(gst_flv_demux_handle_seek_pull), (gst_flv_demux_sink_event),
(gst_flv_demux_dispose), (gst_flv_demux_init):
* gst/flv/gstflvdemux.h:
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio),
(gst_flv_parse_tag_video), (gst_flv_parse_tag_timestamp):
Put the GstSegment directly into the instance struct instead of
allocating and free'ing it again.
Push tags already if only one pad was added, no need to wait for
the second one.
When generating our index set has_video and has_audio if we find
video or audio in case the FLV header has incorrect data.
Sebastian Dröge [Mon, 27 Oct 2008 09:45:04 +0000 (09:45 +0000)]
[MOVED FROM BAD 43/57] gst/flv/: Don't memcpy() all data we want to push downstream, instead just create subbuffers and push them downstream.
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_chain),
(gst_flv_demux_pull_tag), (gst_flv_demux_pull_header),
(gst_flv_demux_create_index):
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_script),
(gst_flv_parse_tag_audio), (gst_flv_parse_tag_video),
(gst_flv_parse_tag_timestamp), (gst_flv_parse_tag_type),
(gst_flv_parse_header):
* gst/flv/gstflvparse.h:
Don't memcpy() all data we want to push downstream, instead just
create subbuffers and push them downstream.
Fix some minor memory leaks.
Sebastian Dröge [Mon, 27 Oct 2008 09:41:18 +0000 (09:41 +0000)]
[MOVED FROM BAD 42/57] gst/flv/Makefile.am: Fix (non-critical) syntax error and add all required CFLAGS and LIBS.
Original commit message from CVS:
* gst/flv/Makefile.am:
Fix (non-critical) syntax error and add all required CFLAGS and LIBS.
* 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_tag_timestamp), (gst_flv_parse_tag_type):
Rewrite the script tag parsing to make sure we don't try to read
more data than we have. Also use GST_READ_UINT24_BE directly and
fix some minor memory leaks.
This should make all crashes on fuzzed FLV files disappear.
Sebastian Dröge [Mon, 27 Oct 2008 09:37:21 +0000 (09:37 +0000)]
[MOVED FROM BAD 41/57] gst/flv/gstflvparse.c: Properly check everywhere that we have enough data to parse and don't read outside the allocat...
Original commit message from CVS:
* gst/flv/gstflvparse.c: (FLV_GET_STRING),
(gst_flv_parse_tag_audio), (gst_flv_parse_tag_video),
(gst_flv_parse_tag_type), (gst_flv_parse_header):
Properly check everywhere that we have enough data to parse and
don't read outside the allocated memory region.
Sebastian Dröge [Mon, 27 Oct 2008 09:35:34 +0000 (09:35 +0000)]
[MOVED FROM BAD 40/57] gst/flv/gstflvparse.c: If the caps change during playback and negotiation fails error out instead of trying to continue.
Original commit message from CVS:
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio),
(gst_flv_parse_tag_video):
If the caps change during playback and negotiation fails error out
instead of trying to continue.
Sebastian Dröge [Mon, 27 Oct 2008 09:33:40 +0000 (09:33 +0000)]
[MOVED FROM BAD 39/57] gst/flv/: Add support for Speex audio and allow buffers without valid timestamp in the muxer.
Original commit message from CVS:
* gst/flv/gstflvmux.c: (gst_flv_mux_audio_pad_setcaps),
(gst_flv_mux_request_new_pad), (gst_flv_mux_write_buffer),
(gst_flv_mux_collected):
* gst/flv/gstflvmux.h:
* gst/flv/gstflvparse.c: (gst_flv_parse_audio_negotiate):
Add support for Speex audio and allow buffers without valid
timestamp in the muxer.
Sebastian Dröge [Mon, 27 Oct 2008 09:32:03 +0000 (09:32 +0000)]
[MOVED FROM BAD 38/57] gst/flv/gstflvdemux.c: Don't post an error message on the bus if sending EOS downstream didn't work. Fixes bug #550454.
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_loop),
(gst_flv_demux_find_offset), (gst_flv_demux_handle_seek_push),
(gst_flv_demux_handle_seek_pull):
Don't post an error message on the bus if sending EOS downstream
didn't work. Fixes bug #550454.
Fix seek event handling to look at the flags of the seek event
instead of assuming some random flags, don't send segment-start
messages when operating in push mode and push seek events upstream
if we couldn't handle them.
Sebastian Dröge [Mon, 27 Oct 2008 09:27:18 +0000 (09:27 +0000)]
[MOVED FROM BAD 37/57] gst/flv/gstflvdemux.c: Error out early if pulling a tag failed.
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_pull_tag):
Error out early if pulling a tag failed.
Sebastian Dröge [Mon, 27 Oct 2008 09:25:11 +0000 (09:25 +0000)]
[MOVED FROM BAD 36/57] gst/flv/: In pull mode we create our own index before doing anything else and don't use the index provided by some fi...
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_create_index),
(gst_flv_demux_loop):
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_script),
(gst_flv_parse_tag_audio), (gst_flv_parse_tag_video),
(gst_flv_parse_tag_timestamp):
* gst/flv/gstflvparse.h:
In pull mode we create our own index before doing anything else
and don't use the index provided by some files (which are more than
often incorrect and cause failed seeks).
For push mode we still use the index provided by the file and extend it
while doing the playback.
Sebastian Dröge [Mon, 27 Oct 2008 09:20:01 +0000 (09:20 +0000)]
[MOVED FROM BAD 35/57] gst/flv/gstflvdemux.c: Instead of using gst_pad_event_default() use a small gst_pad_push_event() wrapper that only do...
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_push_src_event),
(gst_flv_demux_loop), (gst_flv_demux_handle_seek_pull),
(gst_flv_demux_sink_event):
Instead of using gst_pad_event_default() use a small
gst_pad_push_event() wrapper that only does what we want and is much
more simple.
Sebastian Dröge [Mon, 27 Oct 2008 09:14:45 +0000 (09:14 +0000)]
[MOVED FROM BAD 34/57] gst/flv/gstflvdemux.*: If our index was created by the element and not provided from the outside we should destroy it...
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_change_state),
(gst_flv_demux_set_index), (gst_flv_demux_init):
* gst/flv/gstflvdemux.h:
If our index was created by the element and not provided from the
outside we should destroy it when starting a new stream to get
all old entries removed.
Sebastian Dröge [Mon, 27 Oct 2008 09:12:33 +0000 (09:12 +0000)]
[MOVED FROM BAD 33/57] gst/flv/gstflvdemux.c: Improve debugging a bit when pulling a buffer from upstream fails.
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_pull_range):
Improve debugging a bit when pulling a buffer from upstream fails.
Sebastian Dröge [Mon, 27 Oct 2008 09:10:54 +0000 (09:10 +0000)]
[MOVED FROM BAD 32/57] gst/flv/: Close the currently playing segment from 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.
Sebastian Dröge [Thu, 16 Oct 2008 15:21:15 +0000 (15:21 +0000)]
[MOVED FROM BAD 31/57] gst/flv/gstflvmux.c: Don't set video_codec to the value that actually should go into audio codec, otherwise we create...
Original commit message from CVS:
* gst/flv/gstflvmux.c: (gst_flv_mux_audio_pad_setcaps),
(gst_flv_mux_write_buffer):
Don't set video_codec to the value that actually should go
into audio codec, otherwise we create invalid files.
Fixes bug #556564.
Sebastian Dröge [Sun, 12 Oct 2008 17:08:10 +0000 (17:08 +0000)]
[MOVED FROM BAD 30/57] gst/flv/gstflvdemux.c: Fix regression of handling flow returns in pull mode.
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_pull_tag),
(gst_flv_demux_pull_header):
Fix regression of handling flow returns in pull mode.
Fixes bug #556003.
Sebastian Dröge [Fri, 10 Oct 2008 16:33:36 +0000 (16:33 +0000)]
[MOVED FROM BAD 29/57] gst/flv/gstflvparse.c: Use 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.
Sebastian Dröge [Fri, 10 Oct 2008 16:15:09 +0000 (16:15 +0000)]
[MOVED FROM BAD 28/57] gst/flv/gstflvparse.c: Create pads from the pad 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.
Sebastian Dröge [Thu, 9 Oct 2008 16:20:26 +0000 (16:20 +0000)]
[MOVED FROM BAD 27/57] gst/flv/: Get an approximate duration of the file by 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.
Sebastian Dröge [Thu, 9 Oct 2008 15:43:02 +0000 (15:43 +0000)]
[MOVED FROM BAD 26/57] gst/flv/gstflvdemux.c: Refactor _pull_range() logic with checks into a seperate function to make things a bit more re...
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_pull_range),
(gst_flv_demux_pull_tag), (gst_flv_demux_pull_header):
Refactor _pull_range() logic with checks into a seperate function
to make things a bit more readable.
Sebastian Dröge [Thu, 9 Oct 2008 15:26:56 +0000 (15:26 +0000)]
[MOVED FROM BAD 25/57] gst/flv/gstflvdemux.c: Use gst_element_class_set_details_simple().
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_chain),
(gst_flv_demux_base_init):
Use gst_element_class_set_details_simple().
If we get GST_FLOW_NOT_LINKED in the parse loop but at least
one of the pads is linked continue the loop.
Sebastian Dröge [Thu, 9 Oct 2008 10:00:51 +0000 (10:00 +0000)]
[MOVED FROM BAD 24/57] gst/flv/gstflvparse.c: Correct caps for video codec 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.
Sebastian Dröge [Thu, 9 Oct 2008 09:48:46 +0000 (09:48 +0000)]
[MOVED FROM BAD 23/57] gst/flv/gstflvdemux.c: Go out of the parse loop as soon as we get an error instead of parsing until the GstAdapter is...
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_chain):
Go out of the parse loop as soon as we get an error instead
of parsing until the GstAdapter is empty.
Add some explanations about the header and tag size.
Don't print synchronizing message if everything is fine.
Sebastian Dröge [Thu, 9 Oct 2008 09:26:58 +0000 (09:26 +0000)]
[MOVED FROM BAD 22/57] gst/flv/: Add first version of a FLV muxer. The only missing feature is writing of stream metadata.
Original commit message from CVS:
* gst/flv/Makefile.am:
* gst/flv/gstflvdemux.c: (plugin_init):
* gst/flv/gstflvmux.c: (gst_flv_mux_base_init),
(gst_flv_mux_class_init), (gst_flv_mux_init),
(gst_flv_mux_finalize), (gst_flv_mux_reset),
(gst_flv_mux_handle_src_event), (gst_flv_mux_handle_sink_event),
(gst_flv_mux_video_pad_setcaps), (gst_flv_mux_audio_pad_setcaps),
(gst_flv_mux_request_new_pad), (gst_flv_mux_release_pad),
(gst_flv_mux_write_header), (gst_flv_mux_write_buffer),
(gst_flv_mux_collected), (gst_flv_mux_change_state):
* gst/flv/gstflvmux.h:
Add first version of a FLV muxer. The only missing feature is writing
of stream metadata.
Julien Moutte [Fri, 13 Jun 2008 22:46:43 +0000 (22:46 +0000)]
[MOVED FROM BAD 21/57] gst/flv/: Introduce demuxing support for AAC and
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...)
Wim Taymans [Fri, 25 Apr 2008 08:07:36 +0000 (08:07 +0000)]
[MOVED FROM BAD 20/57] gst/flv/gstflvdemux.c: Forward unknown queries upstream instead of returning FALSE on them.
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_query):
Forward unknown queries upstream instead of returning FALSE on them.
Tim-Philipp Müller [Fri, 11 Apr 2008 23:19:21 +0000 (23:19 +0000)]
[MOVED FROM BAD 19/57] gst/flv/gstflvparse.c: Handle NULL returns from 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).
Tim-Philipp Müller [Tue, 11 Dec 2007 11:54:43 +0000 (11:54 +0000)]
[MOVED FROM BAD 18/57] gst/flv/gstflvparse.c: Don't strdup (and thus leak) 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().
Edward Hervey [Sun, 9 Dec 2007 19:37:53 +0000 (19:37 +0000)]
[MOVED FROM BAD 17/57] gst/flv/gstflvparse.c: Fix list of supported and 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.
Edward Hervey [Sun, 25 Nov 2007 10:45:09 +0000 (10:45 +0000)]
[MOVED FROM BAD 16/57] gst/flv/gstflvparse.c: Output segment with proper '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.
Edward Hervey [Mon, 12 Nov 2007 19:22:24 +0000 (19:22 +0000)]
[MOVED FROM BAD 15/57] gst/flv/gstflvparse.c: Add mapping for Nellymoser 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.
Julien Moutte [Mon, 22 Oct 2007 15:45:49 +0000 (15:45 +0000)]
[MOVED FROM BAD 14/57] gst/flv/gstflvparse.c: Don't emit no-more-pads for 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.
Julien Moutte [Thu, 27 Sep 2007 10:06:23 +0000 (10:06 +0000)]
[MOVED FROM BAD 13/57] gst/flv/gstflvparse.c: I got it wrong again, audio 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.
Julien Moutte [Wed, 26 Sep 2007 16:30:50 +0000 (16:30 +0000)]
[MOVED FROM BAD 12/57] gst/flv/gstflvparse.c: codec_data is needed for every 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)
Julien Moutte [Wed, 26 Sep 2007 11:17:08 +0000 (11:17 +0000)]
[MOVED FROM BAD 11/57] gst/flv/gstflvparse.c: Fix bit masks operations to be 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.
Peter Kjellerstedt [Wed, 12 Sep 2007 08:38:22 +0000 (08:38 +0000)]
[MOVED FROM BAD 10/57] gst/: Printf format fixes (#476128).
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).
Julien Moutte [Mon, 27 Aug 2007 14:56:05 +0000 (14:56 +0000)]
[MOVED FROM BAD 09/57] gst/flv/gstflvdemux.c: Make sure we initialize the seek result.
Original commit message from CVS:
2007-08-27 Julien MOUTTE <julien@moutte.net>
* gst/flv/gstflvdemux.c: (gst_flv_demux_handle_seek_pull):
Make sure we initialize the seek result.
Julien Moutte [Fri, 24 Aug 2007 17:03:15 +0000 (17:03 +0000)]
[MOVED FROM BAD 08/57] gst/flv/gstflvdemux.c: Remove some useless ifdef.
Original commit message from CVS:
2007-08-24 Julien MOUTTE <julien@moutte.net>
* gst/flv/gstflvdemux.c: (gst_flv_demux_flush),
(gst_flv_demux_chain), (gst_flv_demux_pull_tag),
(gst_flv_demux_find_offset), (gst_flv_demux_handle_seek_push),
(gst_flv_demux_handle_seek_pull), (gst_flv_demux_sink_event),
(gst_flv_demux_src_event): Remove some useless ifdef.
Julien Moutte [Fri, 24 Aug 2007 15:31:26 +0000 (15:31 +0000)]
[MOVED FROM BAD 07/57] gst/flv/gstflvdemux.c: Implement seeking in push mode.
Original commit message from CVS:
2007-08-24 Julien MOUTTE <julien@moutte.net>
* gst/flv/gstflvdemux.c: (gst_flv_demux_flush),
(gst_flv_demux_cleanup), (gst_flv_demux_chain),
(gst_flv_demux_pull_tag), (gst_flv_demux_find_offset),
(gst_flv_demux_handle_seek_push),
(gst_flv_demux_handle_seek_pull),
(gst_flv_demux_sink_event), (gst_flv_demux_src_event): Implement
seeking in push mode.
* gst/flv/gstflvdemux.h:
Julien Moutte [Wed, 22 Aug 2007 14:50:51 +0000 (14:50 +0000)]
[MOVED FROM BAD 06/57] gst/flv/: Handle pixel aspect ratio through metadata 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.
Julien Moutte [Wed, 22 Aug 2007 14:03:42 +0000 (14:03 +0000)]
[MOVED FROM BAD 05/57] gst/flv/: Make sure we don't try filling up the index 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.
Wim Taymans [Tue, 14 Aug 2007 14:56:20 +0000 (14:56 +0000)]
[MOVED FROM BAD 04/57] gst/flv/gstflvdemux.c: Fix locking and refcounting on the index.
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_set_index),
(gst_flv_demux_get_index):
Fix locking and refcounting on the index.
Julien Moutte [Tue, 14 Aug 2007 14:22:09 +0000 (14:22 +0000)]
[MOVED FROM BAD 03/57] gst/flv/gstflvdemux.c: First method for seeking in 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.
Julien Moutte [Wed, 25 Jul 2007 13:29:04 +0000 (13:29 +0000)]
[MOVED FROM BAD 02/57] gst/flv/: Handle not linked pads, try to make it 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.
Julien Moutte [Thu, 19 Jul 2007 15:05:30 +0000 (15:05 +0000)]
[MOVED FROM BAD 01/57] Adds a first draft of an FLV demuxer.
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...
Sebastian Dröge [Tue, 12 May 2009 11:00:46 +0000 (13:00 +0200)]
rtp: Link to -lm
Fixes bug #582281.
Sebastian Dröge [Tue, 12 May 2009 09:16:48 +0000 (11:16 +0200)]
rganalysis: Remove invalid unit test
The test creates buffers with non-silence, sets the GAP
flag on it and expects rganalysis to ignore the content and assume silence.
That's not the way how GAP buffers should be used, if the GAP flag is set
elements *can* assume that they only contain silence but they're not *required*
to assume that. The GAP flag must only be set on silence buffers.
Fixes bug #582252.
Jan Schmidt [Mon, 11 May 2009 23:48:49 +0000 (00:48 +0100)]
0.10.14.2 pre-release
Jan Schmidt [Mon, 11 May 2009 22:13:20 +0000 (23:13 +0100)]
checks: dist id3-577468-unsynced-tag.tag test file
Tristan Matthews [Mon, 11 May 2009 19:02:27 +0000 (21:02 +0200)]
avidemux: initialize variable to 0
Fixes #582218.
Sebastian Dröge [Mon, 11 May 2009 16:21:13 +0000 (18:21 +0200)]
matroskademux: Only search for the index entry once
Sebastian Dröge [Mon, 11 May 2009 16:18:36 +0000 (18:18 +0200)]
matroskademux: Use the first index entry if it's after the seek position
Sebastian Dröge [Mon, 11 May 2009 16:15:22 +0000 (18:15 +0200)]
avidemux: Use the first entry for a given stream if the first entry is after the seek position
Sebastian Dröge [Mon, 11 May 2009 14:50:48 +0000 (16:50 +0200)]
avidemux: Use binary search for finding the requested index entry when seeking
Sebastian Dröge [Mon, 11 May 2009 13:36:46 +0000 (15:36 +0200)]
matroskademux: Improve/optimize seeking
First of all a keyframe seek should be done to the
keyframe right before the requested position and not
to the keyframe that is nearest to the requested position.
Use per track index arrays and use our new binary search function
from core to speed up the search.
Sebastian Dröge [Mon, 11 May 2009 13:36:36 +0000 (15:36 +0200)]
Require released versions of core/base
Sebastian Dröge [Mon, 11 May 2009 08:15:00 +0000 (10:15 +0200)]
gdkpixbuf: Use the libs and cflags of gdk pixbuf instead of gtk
This fixes the build if gdk-pixbuf is found but gtk isn't
Sebastian Dröge [Mon, 11 May 2009 07:58:48 +0000 (09:58 +0200)]
Always define the conditional HAVE_GTK to fix configure in some cases
Marc-Andre Lureau [Sun, 10 May 2009 09:17:23 +0000 (11:17 +0200)]
Run libtoolize before aclocal
This unbreaks the build in some cases. Fixes bug #582021
David Schleef [Sat, 9 May 2009 17:50:45 +0000 (10:50 -0700)]
matroska: fix printf format to agree with argument
Tim-Philipp Müller [Fri, 8 May 2009 18:42:10 +0000 (19:42 +0100)]
raw1394: include stdlib.h for strtol()
Fixes compiler warning when compiling with xml stuff in core disabled.
Edward Hervey [Fri, 8 May 2009 14:40:57 +0000 (16:40 +0200)]
flacdec: Actually output the pending buffer.. and not a blank one.
It was previously sending the bogus buffer which was returned from
the bufferalloc (required for reverse negotiation apparently) instead
of the pending buffer.
Sebastian Dröge [Fri, 8 May 2009 10:00:57 +0000 (12:00 +0200)]
souphttpsrc: Allow non-string fields in the extra-headers property
Wim Taymans [Fri, 8 May 2009 09:35:02 +0000 (11:35 +0200)]
rtj2kdepay: add basic JPEG 2000 depayloader
Wim Taymans [Fri, 8 May 2009 09:31:02 +0000 (11:31 +0200)]
rtpj2kpay: set marker bit correctly
Sebastian Dröge [Fri, 8 May 2009 09:29:04 +0000 (11:29 +0200)]
souphttpsrc: Add support for extra-headers appended to the HTTP request
This allows to set the Referer header among other things by
adding a "extra-headers" property that takes a GstStructure
with field=string pairs.
Fixes bug #581806.
Wim Taymans [Fri, 8 May 2009 08:38:42 +0000 (10:38 +0200)]
rtpj2kpay: add a simple JPEG 2000 payloader
Wim Taymans [Fri, 8 May 2009 08:31:12 +0000 (10:31 +0200)]
rtpjpegpay: we only need to swap bits on LE
Christian Schaller [Thu, 7 May 2009 17:10:08 +0000 (18:10 +0100)]
Add RANKS for various encoders and muxers
Wim Taymans [Thu, 7 May 2009 15:09:44 +0000 (17:09 +0200)]
matroskademux: add some debugging
Wim Taymans [Thu, 7 May 2009 13:58:43 +0000 (15:58 +0200)]
matroskademux: parse xiph headers length correctly
See #580980
Gabriel Bouvigne [Thu, 7 May 2009 14:25:41 +0000 (16:25 +0200)]
rganalysis: Add ability to post level messages
Fixes bug #581568.
Wim Taymans [Wed, 6 May 2009 21:56:44 +0000 (23:56 +0200)]
rtpjpegpay: refuse some unsupported jpeg formats
Wim Taymans [Wed, 6 May 2009 16:06:49 +0000 (18:06 +0200)]
rtptheorapay: fix description
Wim Taymans [Wed, 6 May 2009 14:09:13 +0000 (16:09 +0200)]
rtpjpegpay: rewrite quant table handling
Rewrite the quant table parsing to also handle multiple tables in one JPEG HDQ
segment.
Handle more jpeg types by keeping track of the tables used per component and
putting the used ones in the quant headers.
Jan Schmidt [Sat, 18 Apr 2009 16:23:51 +0000 (17:23 +0100)]
id3v2mux: Make the test failure slightly more informative
Jan Schmidt [Mon, 20 Apr 2009 17:33:09 +0000 (18:33 +0100)]
flac: Make buffers created during seek act like normal buffers.
Store the offset and caps when allocating a buffer during seeking, and then
allocate a new buffer with buffer_alloc before we push it out. This ensures
that in all respects the first buffer decoded during seeking behaves like
all other buffers, including allowing downstream re-negotiation.
Thomas Vander Stichele [Sat, 18 Apr 2009 16:00:54 +0000 (18:00 +0200)]
flacdec: don't use pad_alloc when decoding while seeking. Fixes #579422
Arnout Vandecappelle [Wed, 6 May 2009 11:22:51 +0000 (13:22 +0200)]
jpegdec: refactored gst_jpeg_dec_parse_image_data
Fixes #579808
Arnout Vandecappelle [Wed, 6 May 2009 11:11:53 +0000 (13:11 +0200)]
jpegdec: support additional 0xff before end marker.
JPEG markers may be preceded by additional 0xff. jpegdec should
skip over these, even before the end marker.
See #579808
Wim Taymans [Wed, 6 May 2009 10:54:22 +0000 (12:54 +0200)]
rtpjpegpay: handle input with 1 quant table
Also handle input with just one quant table, simply duplicate the quant table.
Handle invalid SOF correctly and some small cleanups.
Fixes #578257
Marco Ballesio [Wed, 29 Apr 2009 12:58:10 +0000 (15:58 +0300)]
qtdemux: fix byte order swapping in 3GPP classification entity tag
Fixes #580746.
Arnout Vandecappelle [Tue, 5 May 2009 15:07:13 +0000 (17:07 +0200)]
multipartdemux: avoid reading from inavlid memory
Read the timestamp of the incomming buffer before we push it in the adapter and
flush it out again as the buffer might be unreffed then and we read from invalid
memory.
Fixes #581444.
Arnout Vandecappelle [Tue, 5 May 2009 15:03:29 +0000 (17:03 +0200)]
multipartdemux: don't leak dynamic pads
Free the dynamic pads data in finalize.
Fixes #581432
Wim Taymans [Tue, 5 May 2009 14:32:17 +0000 (16:32 +0200)]
rtpjpegpay: correctly set the type header
Don't require width/height on the caps. Use the SOF header to find width/height
and fall back to the caps if there is no SOF. Also use the SOF info to find the
subsampling and quantization tables used. This allows us to set the right type
value in the JPEG rtp header.
Deprecate the quality property, it's unused now and it was used wrongly before.
Always send full quant tables for now until we have some code to detect default
ones.
Fixes #580880
Wim Taymans [Tue, 5 May 2009 14:28:44 +0000 (16:28 +0200)]
rtpjpegdepay: use width/height from payload
Use the width and the height from the payload headers and set them on the
output caps for added awesomeness.
Fix quant parsing, we need to check the type in the lower 6 bits.
Add first bits of caching quantization tables.
Wim Taymans [Tue, 5 May 2009 14:24:16 +0000 (16:24 +0200)]
jpegenc: set colorspace before _set_defaults()
The libjpeg api says that we need to set the colorspace before we call
_set_defaults(). Indeed, if we don't do that we end up with some very freaky
non-standard quant table and huffman table indexes.
Tim-Philipp Müller [Tue, 5 May 2009 12:19:19 +0000 (13:19 +0100)]
tests: don't build examples if --disable-examples was passed to configure
Tim-Philipp Müller [Tue, 5 May 2009 11:33:57 +0000 (12:33 +0100)]
configure: clean up mess around gtk+ checking
And don't check for gtk+ when it's not needed (ie. if examples are disabled)
Tim-Philipp Müller [Tue, 5 May 2009 11:27:21 +0000 (12:27 +0100)]
configure: make gdk-pixbuf plugin depend only on gdk-pixbuf, not gtk+
Wim Taymans [Mon, 4 May 2009 16:55:12 +0000 (18:55 +0200)]
rtspsrc: Fix find_stream_by_* functions
Fix various version of find_stream_by_* by not trying to convert an int to a
pointer and vice versa, for portability reasons.
Fixes #581333
Chris Winter [Mon, 4 May 2009 16:32:05 +0000 (18:32 +0200)]
rtspsrc: fix dummy nat packet logic
Fix a typo in the dummy NAT packet sending code.
Fixes #581329
Mark Nauwelaerts [Thu, 30 Apr 2009 08:24:27 +0000 (10:24 +0200)]
rtspsrc: avoid errors after server eof
Server eof (e.g. connection closed) is announced as connection closed,
so better record state and act accordingly to prevent (read/write)
errors during subsequent teardown/cleanup sequences. #Fixes 580851.(c).
Mark Nauwelaerts [Thu, 30 Apr 2009 08:19:27 +0000 (10:19 +0200)]
rtspsrc: also set base_time on src after flush
timestamps following flush/seek should be consistent between
UDP and TCP interleaved case. Fixes #580851.(b).
Mark Nauwelaerts [Thu, 30 Apr 2009 08:17:23 +0000 (10:17 +0200)]
rtspsrc: sanity checks on range info
A max range that overflows should not be trusted,
nor should a max range that equals the min range.
Fixes #580851.(a).
Wim Taymans [Mon, 4 May 2009 14:16:54 +0000 (16:16 +0200)]
rtspsrc: use SKIP flag to use SCALE headers
We can use the SKIP seek flag to instruct the server to send data faster then
normal but with the same bandwidth.
Fixes #537609
Alessandro Decina [Mon, 4 May 2009 12:19:22 +0000 (14:19 +0200)]
speexdec: make speex_dec_convert work with same-format values when no data has been decoded.
Sebastian Dröge [Mon, 4 May 2009 10:43:42 +0000 (12:43 +0200)]
flac: Implement preset interface