1. 12 May, 2009 40 commits
    • Sebastian Dröge's avatar
      Moved 'flv' from -bad to -good · 5f609ead
      Sebastian Dröge authored
      5f609ead
    • Christian Schaller's avatar
    • Tristan Matthews's avatar
    • Sebastian Dröge's avatar
    • Sebastian Dröge's avatar
    • Sebastian Dröge's avatar
    • Sebastian Dröge's avatar
      170294e9
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 51/57] flv: Fix parsing of tags and add new mappings · 32c2364f
      Sebastian Dröge authored
      We shouldn't register a new GstTag for every unknown tag
      we find as this might lead to conflicts and also those
      tags are essentially unknown.
      
      Add mappings for some known tags and also convert string
      dates to GDate, as found in many FLV files.
      32c2364f
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 50/57] flv: Add documentation to flvmux and flvdemux · 046311d3
      Sebastian Dröge authored
      Partially fixes bug #573737.
      046311d3
    • Jan Urbanski's avatar
      [MOVED FROM BAD 49/57] Add support for ECMA arrays in script tags. Fixes bug #567965. · 6d82cda0
      Jan Urbanski authored
      Add support for ECMA arrays in script tags. This fixes
      seeking on some files that have the seek table stored
      inside an ECMA array instead of the normal array.
      6d82cda0
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 48/57] gst/flv/gstflvparse.c: Check if strings are valid UTF8 before using them. · 351a29c1
      Sebastian Dröge authored
      Original commit message from CVS:
      * gst/flv/gstflvparse.c: (FLV_GET_STRING):
      Check if strings are valid UTF8 before using them.
      351a29c1
    • Julien Moutte Moutte's avatar
      [MOVED FROM BAD 47/57] gst/flv/gstflvdemux.c: Fix non key unit seeking by... · d759265a
      Julien Moutte Moutte authored
      [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.
      d759265a
    • Stefan Kost's avatar
      [MOVED FROM BAD 46/57] Don't install static libs for plugins. Fixes #550851 for -bad. · 17d96d04
      Stefan Kost authored
      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.
      17d96d04
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 45/57] gst/flv/gstflvdemux.c: Implement position query in time format. · ee53e44f
      Sebastian Dröge authored
      Original commit message from CVS:
      * gst/flv/gstflvdemux.c: (gst_flv_demux_query):
      Implement position query in time format.
      ee53e44f
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 44/57] gst/flv/: Put the GstSegment directly into the instance... · b7f0ba61
      Sebastian Dröge authored
      [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.
      b7f0ba61
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 43/57] gst/flv/: Don't memcpy() all data we want to push... · 029dfc56
      Sebastian Dröge authored
      [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.
      029dfc56
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 42/57] gst/flv/Makefile.am: Fix (non-critical) syntax error... · a023bf6f
      Sebastian Dröge authored
      [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.
      a023bf6f
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 41/57] gst/flv/gstflvparse.c: Properly check everywhere that... · ab136d52
      Sebastian Dröge authored
      [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.
      ab136d52
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 40/57] gst/flv/gstflvparse.c: If the caps change during... · 4aa48072
      Sebastian Dröge authored
      [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.
      4aa48072
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 39/57] gst/flv/: Add support for Speex audio and allow buffers... · d1e3e827
      Sebastian Dröge authored
      [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.
      d1e3e827
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 38/57] gst/flv/gstflvdemux.c: Don't post an error message on... · 5b0cab97
      Sebastian Dröge authored
      [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.
      5b0cab97
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 37/57] gst/flv/gstflvdemux.c: Error out early if pulling a tag failed. · c61d041a
      Sebastian Dröge authored
      Original commit message from CVS:
      * gst/flv/gstflvdemux.c: (gst_flv_demux_pull_tag):
      Error out early if pulling a tag failed.
      c61d041a
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 36/57] gst/flv/: In pull mode we create our own index before... · f945537a
      Sebastian Dröge authored
      [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.
      f945537a
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 35/57] gst/flv/gstflvdemux.c: Instead of using... · 78c8ad8c
      Sebastian Dröge authored
      [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.
      78c8ad8c
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 34/57] gst/flv/gstflvdemux.*: If our index was created by the... · 5dd57326
      Sebastian Dröge authored
      [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.
      5dd57326
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 33/57] gst/flv/gstflvdemux.c: Improve debugging a bit when... · 1b235bb8
      Sebastian Dröge authored
      [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.
      1b235bb8
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 32/57] gst/flv/: Close the currently playing segment from the... · f55a5aa0
      Sebastian Dröge authored
      [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.
      f55a5aa0
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 31/57] gst/flv/gstflvmux.c: Don't set video_codec to the value... · 6c61c0b7
      Sebastian Dröge authored
      [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.
      6c61c0b7
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 30/57] gst/flv/gstflvdemux.c: Fix regression of handling flow returns in pull mode. · 9611ec85
      Sebastian Dröge authored
      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.
      9611ec85
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 29/57] gst/flv/gstflvparse.c: Use... · 9a8884f7
      Sebastian Dröge authored
      [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.
      9a8884f7
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 28/57] gst/flv/gstflvparse.c: Create pads from the pad... · 549f97ea
      Sebastian Dröge authored
      [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.
      549f97ea
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 27/57] gst/flv/: Get an approximate duration of the file by... · 023e5ba0
      Sebastian Dröge authored
      [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.
      023e5ba0
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 26/57] gst/flv/gstflvdemux.c: Refactor _pull_range() logic... · 7f924cec
      Sebastian Dröge authored
      [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.
      7f924cec
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 25/57] gst/flv/gstflvdemux.c: Use gst_element_class_set_details_simple(). · fe312ae6
      Sebastian Dröge authored
      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.
      fe312ae6
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 24/57] gst/flv/gstflvparse.c: Correct caps for video codec id... · fa59b574
      Sebastian Dröge authored
      [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.
      fa59b574
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 23/57] gst/flv/gstflvdemux.c: Go out of the parse loop as soon... · 1905b18a
      Sebastian Dröge authored
      [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.
      1905b18a
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 22/57] gst/flv/: Add first version of a FLV muxer. The only... · fc2adbb9
      Sebastian Dröge authored
      [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.
      fc2adbb9
    • Julien Moutte Moutte's avatar
      [MOVED FROM BAD 21/57] gst/flv/: Introduce demuxing support for AAC and · f58f138c
      Julien Moutte Moutte authored
      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...)
      f58f138c
    • Wim Taymans's avatar
      [MOVED FROM BAD 20/57] gst/flv/gstflvdemux.c: Forward unknown queries upstream... · 00be5791
      Wim Taymans authored
      [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.
      00be5791
    • Tim-Philipp Müller's avatar
      [MOVED FROM BAD 19/57] gst/flv/gstflvparse.c: Handle NULL returns from... · 7104ffa7
      Tim-Philipp Müller authored
      [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).
      7104ffa7