This is GStreamer Good Plug-ins 0.10.16, "Secret Handshakes"

Changes since 0.10.15:

      * Moved rtpmanager from -bad to -good
      * Implement SEEKING query in more demuxers and decoders (notably mkv, flv, flac)
      * avimux: adds support to WMA/WMV
      * cairo: Add cairo-based PDF/PS/SVG encoder element (cairorender)
      * dv1394src: fix element for live usage
      * effectv: new elements: rippletv, streaktv, radioactv, optv
      * flacdec: fix intermittent FLAC__STREAM_DECODER_ABORTED errors when seeking
      * flacenc: fix issue with broken duration / sample count into flac header in some cases
      * flvmux: lots of fixes and improvements
      * id3demux: fix parsing of unsync'ed ID3 v2.4 tags and frames
      * matroska: add kate subtitle support, add/improve WMA/WMV handling and read bluray PGS subpicture streams
      * multipartdemux: support more mime types, do proper flow aggregation
      * pulsesrc: cleanups, report real latency, set the default slave method to skew
      * qtdemux: support for agsm, misc. tag reading fixes
      * rtp: new QDM2 and CELT depayloaders; fix SVQ3 depayloader and make it autopluggable
      * souphttpsrc: Only assume seekability if the server provides Content-Length
      * v4l2: add v4l2sink element, open device in NULL->READY, optional gudev support
      * v4l2src: fix 'hang' with some cameras caused by bad timestamping if no framerate is available
      * videomixer: add RGB format support; fix I420 blending

Bugs fixed since 0.10.15:

      * 331420 : No PDF/PostScript/SVG encoder in GStreamer yet.
      * 499242 : [patch] workaround the broken tags encoding for mp3 files
      * 521625 : [plugin-move] move rtpmanager from -bad to -good
      * 560033 : [v4l2src] returns caps with a range where max == min
      * 564100 : [avidemux] premature EOS streaming mjpeg file with JUNK tags
      * 564501 : [rtph264pay] bytestream scan mode operation is not reliable
      * 567983 : [avidemux] SAMPLE.AVI fails to play in push mode
      * 577017 : Videomixer blend bgra and ayuv
      * 577318 : rtspsrc appears to be leaking memory
      * 578052 : gstavidemux: support seeking and duration query in default format
      * 578166 : libgstwaveform, gstwaveformsink.c " BYTE " instead of " byte " 
      * 578612 : [flacdec] seek on flac file sometimes triggers flac decoder ABORT
      * 580214 : Equalizer starts distorting the sound after a while.
      * 580732 : AVIMUX needs mappings for Windows Media codecs
      * 582153 : rtpmp4vpay does not payload mp4v stream depayloaded with rtpmp4vdepay
      * 582169 : [multipartdemux] Segmentation fault on empty content
      * 582462 : souphttpsrc should set caps for " audio/L16 " mime_type
      * 583593 : Updates for SunAudio plugin
      * 583640 : [v4lsrc/v4l2src] add support for better device detection with libgudev
      * 584455 : [flacenc] sometimes writes broken flac files
      * 584613 : rtpvrawpay seems to produce fixed-length packets padded with random data
      * 585205 : [rtpmp4gdepay?] Unable to play audio from one specific radio station stream
      * 585361 : [gstwaveformsink.c]  'byte' is not defined in MSVCRT
      * 585559 : buffer-list support for rtph264pay, rtpjpegpay and rtpmp4vpay
      * 585576 : [souphttpsrc] initially reports all servers as seekable
      * 585630 : [PATCH] Don't try to test flacdec if it's not build
      * 585699 : GNOME Goal: Remove deprecated glib symbols
      * 585757 : Remove deprecated GTK+ symbols from unused code
      * 585828 : audioamplify should support more formats
      * 585831 : audioamplify should support no clipping
      * 586397 : gstudpnetutils.h fails to build on FreeBSD
      * 587426 : non fast-start mov files fail to play from http locations
      * 587680 : rtp/ts does not repackage cleanly to rtp; mpegvideoparse/rtpmpvpay: timing issues
      * 587826 : gstavidemux.c: s/GST_DISABLE_DEBUG/GST_DISABLE_GST_DEBUG
      * 587982 : [udp] uninitialized variable in gst_udp_get_addr function
      * 587983 : [avidemux] assert format failed
      * 588148 : [id3demux] APIC tag not found mp3 file
      * 588349 : [effectv] Add new optv effect filter
      * 588359 : [effectv] Add radioactv effect filter
      * 588368 : [effectv] Add streaktv effect filter
      * 588483 : [flacenc] write padding metadata block
      * 588695 : [effectv] Add rippletv effect filter
      * 588777 : [souphttpsrc] don't try to authenticate if no username/password is set
      * 589056 : [qtdemux] no audio in videos from Aiptek camera
      * 589365 : [pulsesink] pa_stream_get_sink_input_info() failed: Invalid argument
      * 589423 : [flacdec] Implement SEEKING query
      * 589424 : [flvdemux] Implement SEEKING query
      * 589459 : [pulsesink] Fix a couple error messages that mentioned incorrect function names.
      * 590038 : pulsesink: pa_timing_info- > configured_sink_usec requires pulse 0.9.11
      * 590280 : [v4l2] add v4l2sink
      * 590401 : GstPulseSrc's pulse probe is not initialized correctly
      * 590447 : [flvmux] crashes when writing index with < = 128 entries
      * 590970 : [souphttpsrc] better fix for compiler warning fix
      * 591451 : [v4l2] causes hanging stream when VIDIOC_G_PARM is not supported
      * 591476 : Possible leak in rtpbin
      * 591712 : [dvdec] sets top field first not bottom field first on pal interlaced content
      * 591747 : [v4l2src] should clear formats list when it closes the device
      * 591951 : pipelines/simple-launch-lines check segfaults with libjpeg 7
      * 592232 : [qtdemux] QT style string tag extraction fails
      * 592530 : Get only glitches and noise trying to play a gsm file
      * 593015 : pa_stream_flush() seems to cause sync issues
      * 585911 : matroskademux seems to leak large amounts of memory when seeking (skipping)
      * 576378 : [matroskamux] add support for WMA2 and WMV2
      * 564437 : rtpjpegdepay was unable to handle frame dimensions greater than 2040
      * 582515 : Quicktime file with PCM audio does not play correctly
      * 583048 : [patch] jpegdec: support for larger pictures
      * 583371 : pulsesink: Print message on underflows
      * 583803 : pngdec: mismatched g_malloc/free
      * 584981 : Gstreamer wavparse Could not demultiplex stream
      * 585056 : regression: no more sound in my H.264+AAC clips
      * 585549 : Add RTP blocksize functionality to rtspsrc element
      * 585842 : Support for GstBufferList in gstmultiudpsink


Changes since 0.10.14:
    
      * Some fixes for seeking in wav and FLAC files
      * Faster seeking in Matroska and AVI files
      * RTSP and RTP improvements
      * directdrawsink moved to Bad
      * y4menc and flvmux/flvdemux moved from Bad
      * deinterlace2 moved from Bad, replacing deinterlace
      * Many bug fixes and improvements
      * Pulseaudio sink completely overhauled

Bugs fixed since 0.10.14:
     
      * 572551 : mpeg4videoparse fails to extract codec_data from this net...
      * 577318 : rtspsrc appears to be leaking memory
      * 576286 : [videomixer] Should accept/output non-alpha streams
      * 581333 : rtspsrc: request_pt_map in gstrtspsrc.c fails to return c...
      * 478092 : gstid3v2mux.cc:deprecated conversion from string constant...
      * 486915 : [videomixer] segmentation fault on gst-inspect
      * 509311 : [rtph263pay] rtph263pay does not follow rfc2190
      * 516031 : flac within ogg container can't be played on Jokosher
      * 537537 : [pulse] Latency issues
      * 537609 : RTSP - rtspsrc module  support for Scale header
      * 552650 : [rtspsrc] (partially) fails SETUP with MS RTSP servers
      * 562168 : Good plugins' configury overloads --disable-debug
      * 563574 : v4l2src should capture in non-blocking mode
      * 567140 : G726 Packetizer issue for 24kbps & 40 kbps datarate
      * 567857 : [udpsrc] loop on gst_poll_wait when POLLERR because of icmp
      * 570781 : [alawdec] spews ERROR debug messages on shutdown/seek/not...
      * 571153 : [pulsemixer] compiler warnings (on ARM)
      * 571321 : gconfvideo{src,sink} don't disconnect gconf notifications
      * 572256 : gst/avi/gstavidemux.c: Alignment trap in gst_avi_demux_pa...
      * 572358 : law encoders _getcaps ignore rate/channel if not both are...
      * 572413 : [jpegenc] crashes if no input format has been set
      * 573173 : Added Quicktime HTTP tunneling to the RTSP src element
      * 573342 : Unconditioned EAFNOSUPPORT in gstudpnetutils.c
      * 573343 : Type mismatches in gstdirectdrawsink.c
      * 573721 : [PLUGIN-MOVE] move directdrawsink back to -bad
      * 573737 : [PLUGIN-MOVE] Move FLV to -good
      * 574270 : [rtspsrc] Range request is wrong (should say: npt=now-)
      * 574275 : flacdec ! appsink with a seek seems to drop the first buffer
      * 577468 : [id3demux] Frames not extracted if tag is unsynchronised
      * 577609 : [id3v2mux] write RVA2 frames for peak/gain volume data
      * 577671 : [rtspsrc] deadlock on shutdown (locking order problem?)
      * 578052 : gstavidemux: support seeking and duration query in defaul...
      * 578135 : [qtdemux] missing 3gpp Asset metadata handling
      * 578310 : [matroskamux] - Should suppport speex
      * 579070 : [sunaudio] fix compiler warnings
      * 579422 : flacdec can block allocating before it sent a new-segment
      * 579808 : [jpegdec] Doesn't support additional 0xff before end marker
      * 580746 : [qtdemux] 3GPP classification entity byte order reversed
      * 580783 : [PLUGIN-MOVE] Move y4menc to -good
      * 580851 : rtspsrc: various; sanity of ranges, setting of base_time ...
      * 580880 : gstrtpjpegpay is not functioning properly; rtp jpeg paylo...
      * 581329 : rtspsrc: NAT dummy packets not being sent
      * 581568 : ability for replaygain plugin to post level messages
      * 581806 : [souphttpsrc] Should allow overriding the referer
      * 581884 : [PLUGIN-MOVE] Move deinterlace2 to gst-plugins-good
      * 582252 : rganalysis test broken by recent commit
      * 582281 : [rtp] Forgets to link to $(LIBM)
      * 582387 : [avidemux] Seeking regression
      * 582420 : flacdec unit test broken on PPC
      * 582661 : [deinterlace] Fix latency query to return unbound max lat...
      * 582715 : gcc warnings about unitialized
      * 582753 : flacdec check fails
      * 582794 : rganalysis unit test fails with git core
      * 568278 : [qtdemux] add support for vob subtitle streams
      * 569611 : GStreamer videobox element draws thin green lines on edge...
      * 571294 : [matroskamux] Should ignore framerate of 0/1
      * 574169 : avidemux/theoradec don't work well together
      * 575234 : Network interface selection for multicasting with the udp...
      * 576729 : [rtspsrc] perform EOS handling earlier
      * 578257 : Image problems using rtpjpeg(de)pay
      * 579069 : rtp h263pay build fixes
      * 580554 : PATCH: qtdemux: fix demuxing of m4v streams with ac-3 audio
      * 581432 : [multipartdemux] source pads are leaked
      * 581444 : [multipartdemux] free memory read of buffer timestamp
      * 582218 : Uninitialized variable may be used in gstavidemux.c
      * 575937 : udp/gstudpnetutils.c: ip_mreqn unavailable on Solaris (an...


Changes since 0.10.13:
    
      * Add autodetect source elements
      * Improvements in RTP payload/depayload and RTSP
      * Support float input in wav, and require depth == width
      * Support inverted RGB video in avi
      * Compilation fixes and smarter format selection in V4L2 support
      * Use libv4l when available
      * Don't install static plugin libraries any more
      * Matroska muxing: Add Dirac, fix AAC
      * Improve qtdemux segment handling
      * Add presets to equalizer
      * OS/X video and audio output improvements
      * Rework Pulseaudio audio output
      * Support basic and digest auth in souphttpsrc
      * Use libsoup-gnome instead of libsoup when available
      * DV demuxer fixes
      * New IIR and FIR base classes and echo filter in audiofx plugin
      * Improved spectrum analysis plugin
      * 8 bit greyscale support in v4l2src and videocrop
      * New aspectratiocrop element
      * Many other bug fixes and improvements

Bugs fixed since 0.10.13:
     
      * 561502 : Not-negociated error in udpsrc
      * 522183 : add preset suport to gstequalizer
      * 523813 : [autodetect] add autovideosrc and autoaudiosrc
      * 557709 : goom should have license headers in all source files
      * 560155 : segfault when trying to set tag to NULL with avimux
      * 527951 : [new element] aspectratiocrop
      * 529379 : RTSP seeks when pipeline is in STATE_PAUSED
      * 532409 : RTP payload/depayloader for G.729
      * 537539 : [pulse] Rhythmbox starts using 100% of CPU time when puls...
      * 537540 : [pulse] Causes a deadlock when the pulseserver dies
      * 537543 : [pulse] sink/src should have " volume " property (was GstMi...
      * 545033 : [v4l2src] Add support for camera specific formats
      * 552140 : [soup] use libsoup-gnome for proxy configuration if avail...
      * 556019 : Add the ability to make souphttpsrc act as a live source
      * 556484 : Implement getcaps in rtpL16pay
      * 556641 : rtpL16depay doesn't support multichannel audio
      * 556802 : Misspelled messages
      * 556955 : [videocrop] fails to renegotiate
      * 556986 : pulsesink deadlocks when raising an error
      * 557260 : [equalizer] Calculates coefficients for every buffer
      * 557293 : Argument type mismatch on Windows
      * 557294 : cross mingw32 gcc: getaddrinfo is not in ws2_32.dll befor...
      * 557710 : Memory leak related to matroskamux's request pads
      * 558427 : rtpmpapay/depay are too wide
      * 558638 : Compiler error on v4l2
      * 558711 : gst-plugins-good-0.10.11 compile fails
      * 559288 : [qtdemux] deadly embrace!
      * 559545 : rtspsrc could not receive data from RTSP server because o...
      * 559547 : Seek bugs when playing rtsp video in m.youtube.com
      * 560641 : rtp mp4 payloader doesn't flush the last frame upon EOS
      * 560756 : New Plugin: JPEG RTP Payloader
      * 561625 : Rtspsrc set segment's last_stop incorrectly
      * 561775 : souphttpsrc patch to support basic and digest authentication
      * 561802 : DLNA specific HTTP header missing
      * 561990 : qtdemux build fails on mingw due to missing definition of...
      * 562434 : [wavenc] Add support for a-law and mu-law encoded wav files
      * 562572 : multiudpsink handles errors in _render() too aggressively
      * 563414 : Fix for SunAudioMixer plugin
      * 563504 : add libv4l2 support to v4l2 gst plugin - required for mos...
      * 563509 : [rtp_data_test] Complains about negotiation errors with m...
      * 563510 : [videocrop] 1x1 unit test fails
      * 564437 : rtpjpegdepay was unable to handle frame dimensions greate...
      * 564948 : Fix and clean up osxaudio
      * 565850 : mov files can contain xvid, fmp4 and ac3 tracks
      * 566616 : v4l2src: b/w support
      * 566843 : [pulse] Terminating an audio stream hangs the application
      * 567577 : [audiofx] Add generic IIR/FIR audio filter elements
      * 567642 : spectrum element has undocumented arbitrary limitation on...
      * 567746 : fix for 547227 created a ref loop
      * 567794 : [PATCH] Rework pulse plugin
      * 567800 : Mp4 created by Avidemux don't play.
      * 567853 : osxaudiosrc does not build on 10.4
      * 567874 : [audiofx] Echo/Reverb filter
      * 567955 : [spectrum] Need compensation for rounding errors
      * 567992 : [videocrop] wrong mouse navigation commands while cropping
      * 568395 : [audiofx] Rename audioreverb to audioecho
      * 568780 : elements/videocrop check fails
      * 568809 : Patch needed for building gst-plugins-good 0.10.13 on Sol...
      * 569820 : In some cases v4l2src element does not return correct norm
      * 570343 : equalizer bands != specified parameters
      * 570435 : Read Title element of Matroska files
      * 571038 : [osxvideosink] build fail
      * 571150 : aspectratiocrop : Memory leak
      * 571153 : [pulsemixer] compiler warnings (on ARM)
      * 571204 : [pulsesink] PA assertion failure triggers abort
      * 570581 : osxvideosink: non-embedded mode is badly broken and shoul...
      * 341752 : [rtspsrc] 500 Internal Server Error response with tagessc...
      * 420658 : gconfaudiosink is not behaving normally
      * 558554 : [avidemux] avidemux not recognizing certain uncompressed ...
      * 561580 : GStreamer does not play a specific WAV file
      * 563056 :  " rtpjpegdepay ! jpegdec " doesnt works
      * 565441 : Smoke encoder doesn't set caps correctly
      * 567952 : videocrop: add b/w support

Changes since 0.10.12:

      * Fix bad autopoint substitution in the po subdir

Changes since 0.10.11:

      * Fix for security advisory TKADV2009-0xx

Changes since 0.10.10:

      * HDV capture support
      * Port flactag element to 0.10
      * Support FLAC in alternate bit-depths and more samplerates
      * Matroska muxing improvements
      * Support Google RTSP variant
      * Many other bug-fixes and improvements

Bugs fixed since 0.10.10:

      * 545433 : [wavparse] support tempo tag
      * 311586 : Matroska mux/demux don't support flac
      * 350830 : [raw1394] Add HDV support
      * 413841 : [flactag] needs porting to 0.10.x
      * 536067 : [matroska] Add support for real audio/video
      * 537361 : videomixer segment handler fail
      * 543101 : The udpsrc/udpsink/multiudpsink/dynudpsink elements may l...
      * 544956 : [videobox] segfault when changing properties at running p...
      * 545463 : autodetect plugin links to gconf, unnecessarily
      * 545710 : [rtspsrc] : create rtp/rtcp socket pair + same port for d...
      * 546465 : can't play m.youtube.com rtsp streams
      * 547075 : [speex] Encoder doesn't handle non-zero start timestamps ...
      * 547217 : Implement GstPropertyProbe interface on pulsesrc for dete...
      * 547227 : Implement GstPropertyProbe interface on pulsesink for det...
      * 547518 : pulsemixer probe fails after device property is set
      * 547519 : Add device-name property to pulsesrc
      * 548530 : wavenc allows audio depth of 25
      * 548831 : matroska demuxer setting incorrect timestamps
      * 549073 : buffer_alloc function from new basetransform sometimes fa...
      * 549090 : v4l2src has no property named norm but notifies it
      * 549551 : conversion of gst structure names to mime types in multip...
      * 549784 : Memory Corruption Probing v4l2src with Video4Linux1 device
      * 550015 : build failure: gstcmmlparser.c:115: error: format not a s...
      * 550791 : [flacenc] files are too big, mid-side-stereo=true should ...
      * 551048 : rtsp implementation sends PAUSE even when server doesn't ...
      * 551570 : plugin ximagesrc is memory leaking...
      * 551584 : Crash when modifying the videobox " top " and " left " live w...
      * 552213 : [qtdemux] map tiff fourcc to image/tiff caps
      * 553191 : udpsrc: bind() fails on OS X
      * 554771 : totem spins CPU 100% while allocating (infinitely) becaus...
      * 556010 : AVI muxer segfault
      * 556381 : [icydemux] test fails with latest core
      * 556424 : [avidemux] segmentation fault when creating indexes
      * 557085 : [videobox] support dynamically changing properties
      * 557610 : udpsrc fails to bind() on Mac OS X (IPv4 vs. IPv6 problem)
      * 547842 : Vorbis RTP RFC 5215 is out
      * 550288 : Sound not played - a quicktime file

Changes since 0.10.9:

      * Move the libcdio cddasrc element to -ugly, because of the GPL license

Bugs fixed since 0.10.9:

      * 413705 : [PLUGINS MOVE] gst-plugins-good contails GPL'ed libcdio p...

Changes since 0.10.8:

      * Replaygain elements moved from Bad
      * Interleave/Deinterleave elements moved from Bad
      * Pulseaudio plugin http://pulseaudio.org is now integrated
      * New simple Karaoke audio effect plugin
      * Improvements in v4l2src
      * Multi-channel FLAC file fixes
      * AVI and Quicktime reverse playback support
      * AVI and Matroska muxing improvements
      * New element for rendering SMPTE transitions into alpha channels
      * Many improvements in the Win32 directdraw elements
      * Error out cleanly for encrypted streams
      * RTP/UDP handling improvements
      * RTSP digest authentatication implemented.
      * New RTP Pay/Depay-loaders for Speex, G.729, DV & raw video/audio
      * Error concealment for Speex
      * Many other bug-fixes and enhancements

Bugs fixed since 0.10.8:

      * 541787 : incorrect timestamp
      * 413705 : [PLUGINS MOVE] gst-plugins-good contails GPL'ed libcdio p...
      * 345393 : Missing documentation
      * 400679 : [PLUGIN-MOVE] pulse-gst to -good
      * 422917 : G729 payloader/depayloader
      * 429322 : [matroska-demux] hangs if file starts at non-zero timestamp
      * 465146 : Add more complete negotiation to gstrtpbasepayload
      * 469917 : multiudpsink IPv6 and diffserv TOS/TC markup
      * 499318 : [osxvideosink] warnings on build (ppc, 64bit, 10.4)
      * 503288 : rtph264pay does not split multiple NAL units in incoming ...
      * 511489 : avimux muxed audio and video out of sync
      * 512345 : gstalpha: chroma-key should not set alpha to 0 if brightn...
      * 515962 : [udp] add ipv6 support to multiudpsink and udpsrc, add mu...
      * 516509 : gstid3v2mux.cc build failure on Solaris, CFLAGS not valid...
      * 519301 : avimux fails when going from NULL to playing a second time
      * 519460 : 8 bytes missing in AVI streamheader
      * 520092 : v4l2src proposed patches
      * 520885 : directdrawsink has some issues
      * 527865 : [PATCH] [matroskademux] uses wrong colourspace for palett...
      * 529454 : [udpsrc] generates false error on win32 due to ICMP dest-...
      * 529692 : [goom] fails to build on Windows with mingw32
      * 529707 : [rtp] fails to build on Windows with mingw32
      * 530886 : Support more mpeg2 variants in .mov files
      * 531532 : rtspsrc leaks filedescriptors when gst_rtspsrc_open fails
      * 531672 : [qtdemux] does not handle files with edit lists correctly...
      * 532295 : gconf setting default audio sink to video default visualizer
      * 532393 : [dvdec] Shouldn't be GST_RANK_PRIMARY
      * 532409 : RTP payload/depayloader for G.729
      * 532423 : RTP payload/depayloader for DV
      * 533264 : Make v4l2 compile without X
      * 533619 : udpsink dies when Linux fails (for no reason) sendto() wi...
      * 535121 : [videomixer] proper seek/segment handling
      * 535300 : [avidemux] missing support for reverse playback.
      * 535935 : [qtdemux] Missing metadata
      * 536228 : [PLUGIN-MOVE] Move interleave/deinterleave to gst-plugins...
      * 536317 : [v4l2src] Doesn't compile with latest git kernel
      * 536646 : v4l2src doesn't pick the optimal resolution
      * 536831 : v4l2src == non-experimental
      * 536903 : udpsrc now assumes one is using multicast
      * 537021 : [cdio] does not extract album title from CD-TEXT
      * 537031 : Enhancement to SunAudio mixer plugin
      * 537361 : videomixer segment handler fail
      * 537377 : Gstreamer avidemux fails on avi files with non-AV data st...
      * 537622 : [matroskademux] Doesn't export covers (file attachments)
      * 537675 : rtp vorbis/theora payloader static caps don't specify del...
      * 537832 : rtsp is broken
      * 539372 : udpsrc do not set port properly on anonymous binding
      * 539548 : [udpsrc] Fails to bind with permission denied when trying...
      * 540067 : souphttpsrc does not support http authentication
      * 540300 : [souphttpsrc] souphttpsrc does not seek ahead in http stream
      * 540940 : Quicktime demuxer does not handle dirac in QT files
      * 541081 : [v4l2src] Doesn't compile with on old kernel
      * 541384 : cross mingw32 gcc: making goom compile
      * 541412 : cross mingw32 gcc: making libgstrtp plugin compile
      * 541650 : udpsrc fails to parse URI with IPv6 address
      * 541956 : v4l2src only requests interlaced video 
      * 542410 : qtdemux not recognizing pcm 8bit streams correctly
      * 543054 : [osxvideosink] minor build issue
      * 543255 : -Wno-attributes does not exist in every gcc version
      * 543259 : warning in gstv4l2src.c due to an uninitialized variable
      * 543300 : [qtdemux] [PATCH] wrong depth in RLE video caps and wrong...
      * 544509 : [qtdemux] Regression in segment.stop
      * 539482 : [avidemux] Doesn't parse vprp ODML header
      * 544433 : Some -good plugins aren't buildable with MSVC
      * 536994 : Improve v4l2src negotiation a bit more
      * 329198 : GStreamer-CRITICAL: gst_pad_activate_pull: assertion `old...
      * 532065 : Implement RTSP Digest authentication
      * 533287 : Mapping of mime types to gst names in multipartdemux
      * 538891 : G.726 pay/depayloader is missing

Changes since 0.10.7:
    
      * The libsoup based http source moved from the -bad module and
        was raised to primary rank
      * GOOM visualisation plugin updated to Goom2k4
      * Fixes in UDP, RTSP, matroska, QT/mov, AVI, v4l2, OS/X, SunAudio,
        mulaw and wavpack
      * New gdkpixbuf output for snapshotting
      * Various other bug-fixes

Bugs fixed since 0.10.7:
     
      * 516509 : gstid3v2mux.cc build failure on Solaris, CFLAGS not valid...
      * 515978 : [ladspa] Should be removed from -good until it's ready to...
      * 516649 : [v4l2src] tries to VIDIOC_S_PARM without checking capabil...
      * 517237 : [rtspsrc] Better error when bandwidth is too small
      * 517933 : [tests] trivial C89 fix
      * 518188 : [spectrum] " message " property documentation unclear
      * 518213 : [goom2k4] artefacts on x86-64
      * 518564 : goom dies with illegal instruction
      * 519088 : gst_mulawdec_chain() may call gst_util_uint64_scale_int()...
      * 519417 : Unable to modify DEFAULT_VIDEOSRC in configure
      * 520073 : [goom] (goom2k4) shows mostly black frames
      * 520764 : double buffer unref in speexenc error handling
      * 520880 : audiofx doesn't build on Windows/MSVC
      * 520888 : udpsrc has some issues on Windows
      * 521102 : h.263+ rtp depayloader crashes on short payloads
      * 521875 : [osssrc] recording corrupts upon _get_caps
      * 522278 : Problem with " movq " at file gst-plugins-good/gst/goom/xmmx.c
      * 522767 : [goom] does not build on ppc
      * 523124 : [PLUGIN-MOVE] move souphttpsrc from -bad to -good
      * 523134 : osxvideosink does not stop when you control-C
      * 524593 : [sunaudio] fix mixer track range
      * 525359 : [alaw] [mulaw] Use gst_pad_alloc_buffer_and_set_caps to c...
      * 525833 : [halaudiosrc] unable to get mic USB working with gnome-so...
      * 525860 : [sunaudio] copyright fixes
      * 525946 : [gdkpixbuf] add gdkpixbufsink element
      * 526557 : [matroskademux] seeking regression in CVS
      * 527848 : [souphttpsrc] Give souphttpsrc PRIMARY rank
      * 527984 : Doesn't dist all m4 files needed by configure.ac
      * 527999 : [goom] Doesn't dist goomsl.h
      * 528143 : [goom] fails to build on 32-bit ppc
      * 528615 : Hide goom2k4 logo
      * 529268 : [goom] States unit test exposes some memory leaks

Changes since 0.10.6:
    
      * 8 months of frenetic development
      * Massive RTSP/RTP improvements
      * Fixes in pngdec, gdkpixbufdec, wavpackparse, wavpackdec, smokeenc,
        mulawdec, alwdec, id3demux
      * More Fixes in matroskademux, udpsrc, apedemux, flacenc, avimux,
        dv1394src
      * V4L2 support improved
      * Fixes for OS/X and Windows video/audio sources and sinks
      * Support more formats in QT files
      * Elements moved from gst-plugins-bad: equalizer, lpwsinc (now
        audiowsinclimit), bpwsinc (now audiowsincband), spectrum,
        multifilesrc/sink
      * New audio effects: High/Low/Band-pass filters
      * Many, many other fixes

Bugs fixed since 0.10.6:
     
      * 415627 : [PLUGIN-MOVE] move equalizer to good
      * 463624 : [PATCH] avimux: mismatch in ODML tag numbering
      * 347848 : [id3v2mux] add support for DiscID tags
      * 348085 : [PLUGIN-MOVE] move spectrum to good
      * 351726 : [rtspsrc] Force to send on periodic time new rtsp play co...
      * 358841 : [dv1394src] should have property probe
      * 417420 : [autoaudiosink] add " caps " property to filter sinks by caps
      * 427573 : [osxaudiosrc] segmentation fault
      * 435435 : [alaw] use tables for ALAW (G.711) encoding and decoding
      * 442034 : [avi] add support for subtitle streams (GAB2)
      * 447000 : [id3demux] add support for reading license URL from WCOP tag
      * 448278 : [v4l2src] several issues in cvs
      * 449747 : Function parameter mismatch breaks build on Solaris.
      * 450190 : [PATCH] v4l2src set_capture (parameters) fails
      * 450878 : Missing files in po/POTFILES.in
      * 451249 : Integer type mismatch in gstrtspsrc.c
      * 451388 : [v4l2src] Could not negotiate format
      * 453037 : rtpilbcpayloader encoding-name field mismatch
      * 453417 : [matroskademux] support palette info for VobSub stream
      * 453630 : Rtspsrc invokes GST_ELEMENT_ERROR in eos when streaming o...
      * 455086 : [cairotextoverlay] ignores the size in font-desc property
      * 455808 : rtspsrc deadlocks on pause
      * 457097 : [faad] " setting caps on pad failed " with BMJ113 mov
      * 461600 : Some files missing from POTFILES.in
      * 464475 : the mode property if the caps of rtpilbc*pay should be of...
      * 464800 : [audiofx] New elements: chebyshev low/highpass and bandpa...
      * 465040 : [RTP] h263ppay should allow h263 caps on sink
      * 465774 : qt video does not play, but can be seeked
      * 467214 : Could not get buffers from device '/dev/video0'
      * 467666 : [ELEMENT-MOVE] Move lpwsinc and bpwsinc to gst-plugins-good
      * 470502 : Ricoh Webcam not working
      * 471364 : [gconf] Internal GStreamer error: state change failed on ...
      * 471823 : [v4l2src] Fails to negotiate capabilities with Macbook Pr...
      * 473670 : [qtdemux] invalid utf8 in tags causes warnings
      * 474616 : [rtph263pay] RTP headers are wrong for win32
      * 475424 : [v4l2] uvcvideo Macbook iSight webcam not working (regres...
      * 477199 : Linux-UVC webcams not working
      * 477456 : [v4l2src] my webcam is not working anymore
      * 479960 : qtdemux is missing fourcc for mpeg2 HDV streams (HDV2. HDV3)
      * 480557 : [v4l2src] Nasty segfault (with broken driver?)
      * 482495 : avimux does not accept audio/aac
      * 484998 : [mulawdec] not-negotiated error playing a sun audio (au) ...
      * 485828 : [v4l2src] Fixates to lowest resolution on new kernels
      * 487488 : udpsrc errors
      * 487563 : Payloader for H264 not marking packets
      * 488112 : [id3demux] extract ID3v2 WOAF frame
      * 488844 : Free GstBuffer with gst_buffer_unref() in gst_rtp_mp4v_pa...
      * 488879 : [videomixer] implement GstChildProxy interface
      * 489940 : [gdkpixbufdec] gst_value_set_fraction: assertion 'denomin...
      * 490034 : [v4l2src] " could not get buffers from device " 
      * 490283 : [multifilsrc] move to -good
      * 491323 : Extend RTP MPEG-TS payloader to handle large RTP payload ...
      * 492388 : Build issues on Windows/MSVC
      * 496752 : [rtspsrc] leaks memory
      * 496773 : [rtspsrc] leaks SDP messages
      * 496983 : [PATCH] rtspsrc leaks pads
      * 497007 : [PATCH] rtspsrc leaks RTSP messages in SETUP
      * 497017 : [PATCH] H.264 RTP depayloader leaks memory in setcaps
      * 497292 : gsttextoverlay compile problem in MSVC
      * 497293 : gsttimeoverlay compile error in win32
      * 498181 : Recent change to gst-plugins-base breaks gst-plugins-good
      * 498297 : [v4l2src] put real supported resolutions in caps instead ...
      * 498395 : [pngenc] leaks buffer data memory
      * 498715 : GStreamer fails to decode MPEG1 Video RTP streams when gs...
      * 499178 : unexpected not negotiated and other weird beharviours
      * 499239 : gstrtpmp4adepay
      * 499383 : [rtph263depay] Doesn't read I-frame information from rtp ...
      * 500403 : [PATCH] videobox element doesn't init liboil
      * 501775 : [wavparse] regression in CVS: seeking is broken
      * 502655 : [avimux] creates corrupt avi files (wrong stream numbering)
      * 502814 : Adds profile (hex string), sps and pps (base64 encoded) i...
      * 502966 : GStreamer segfaults when videobox is introduced into a sp...
      * 503023 : Let multipartdemux work in live mode.
      * 504018 : flacdec emits newsegment before being able to respond to ...
      * 504081 : [matroskamux] support for live sources (calculate duratio...
      * 504895 : Build fails:  gst/check/gstcheck.h: No such file or direc...
      * 505745 : [avidemux] warning: 'res' may be used uninitialized in th...
      * 506025 : RTSPsrc doesn't handle redirects.
      * 506715 : [PATCH] [flacdec] PICTURE blocks should be retrieved as m...
      * 507642 : v4l2src Crash - Size 4156 is not a multiple of unit size ...
      * 508644 : The clockrate for theora payloading should always be 90000
      * 509298 : Compilation errors in gstavisubtitle.c and gstrtspsrc.c w...
      * 509301 : [flacdec] CVS does not compile against flac-1.1.2
      * 509531 : Make the auto-join/auto-leaving of a multicast group opti...
      * 510505 : changes to make v4l plugin build on solaris
      * 510592 : Race condition in WAVE parser
      * 513628 : [flacdec] Decoding of PICTURE blocks is always disabled b...
      * 514397 : matroskademux does not mark delta units
      * 514573 : multipartmux memory leak
      * 514889 : Bogus output from RTP data test
      * 514965 : Possible buffer leaks if last_write_result != GST_FLOW_OK...
      * 515457 : [audiofx] Element long descriptions are broken
      * 515562 : [avidemux] Seeking broken in 0.10.6.2
      * 515697 : [multifile] Several memory leaks exposed by unit test
      * 515701 : [smoke] Several valgrind warnings exposed by unit test
      * 515703 : [avisubtitle] Several valgrind warnings with unit test (g...
      * 515704 : [gconf] Memory leak when creation of pipeline fails
      * 515706 : [ximagesrc] Memory leak when XDamage support is available
      * 515905 : gst-error.m4 needs no%E_MACRO_REDEFINED on Solaris
      * 515979 : [efence] Doesn't chain up finalize properly
      * 515980 : [directdraw] Does not chain up finalize functions properly
      * 515984 : [v4l] Does not chain up finalize functions properly
      * 515985 : [ximagesrc] regression when using damage
      * 516371 : does not build without xml usage
      * 516524 : uninitialized variables
      * 517386 : [alpha] Doesn't link with libgstbase
      * 508291 : [id3demux] must check if language code in id3v2 COMM fram...
      * 491811 : Rename audiochebyshevfreq* to audiocheb*
      * 447961 : [rtsp] do not store a reference to the result from inet_n...
      * 475784 : rtspsrc has race condition between loop_interleaved() and...
      * 478244 : rtpamrdepay make no playable stream
      * 480707 : Memory leak : gstrtpmp4vpay :  config buffer is leaked
      * 502187 : flacdec doesn't send newsegment from the streaming thread
      * 509329 : [rtspsrc] use atoll when parsing rtptime
      * 512544 : preallocate output buffer in pngenc

Changes since 0.10.5:

      * Much improved RTSP/RTP and V4l2 support
      * New plugins - audiopanorama, audioinvert, audiodynamic, audioamplify
      * OSX and Windows video/audio support elements moved from Bad Plugins
      * qtdemux, videocrop and wavpack elements moved from Bad Plugins
      * Fixes in avi and matroska muxing
      * Fixes in wavparse, sunaudio, AVI demuxing, ID3 tag handling
      * gamma element ported to 0.10
      * Parallel installability with 0.8.x series
      * Threadsafe design and API

Bugs fixed since 0.10.5:

      * 392189 : [esdsink] pipeline hung in state change from PAUSED to PL...
      * 407590 : crash using gconfaudiosink
      * 439255 : [rtspsrc] crash on unsupported transport
      * 441118 : Incorrect caps in G.711 RTP depayloaders
      * 323471 : [PLUGIN-MOVE] osxaudio
      * 407780 : avimux does not handle video/x-h264
      * 316203 : MinGW: udp and rtsp plugin should be disabled on windows
      * 340362 : [PATCH] new plugin - hardlimiter
      * 342463 : [ximagesrc] performance improvement
      * 347806 : [v4l2src] try_capture(): Error getting buffer information...
      * 350296 : [udpsrc] add property to remove extra headers from buffers
      * 354007 : [PLUGIN-MOVE] videocrop should be moved to -good
      * 356692 : wavparse drops final sample in most files
      * 358040 : Fix speex rtp (de)payloader
      * 362566 : [dv1394src] Random segfault and kernel oopses
      * 374489 : rtspdec never sends out RTCP Receiver reports
      * 377306 : [sunaudiomixer] mixer track labels not localized
      * 379298 : [avimux] allow multiple audio streams
      * 392620 : gnome-sound-record can not be started on sunray client on...
      * 393427 : error/warnings when compiling with mingw
      * 395688 : playbin is unable to play rtsp stream for 3gp from Darwin...
      * 396057 : [audiofx] New audioinvert element
      * 397162 : [audiofx] New element audioamplify
      * 397946 : [audiopanorama] another trivial docs fix
      * 398299 : [smpte] crashes if fed empty buffers from fakesrc
      * 398325 : [smpte] Segfaults with big width/height
      * 399338 : Hang in PREROLLING when trying to play a specially crafte...
      * 399825 : Tags don't work properly for shout2send plugin
      * 406042 : [v4l2src] fails with radio chips
      * 407369 : [v4l2src] Wrong way of EIO error handling
      * 407793 : memory leaks of sdpmessage.c
      * 407797 : bug of rtsp_url_parse() in gst/rtsp/rtspurl.c
      * 408544 : totem crashed with SIGSEGV to rtsp_ext_wms_configure_stre...
      * 410997 : Fails to build with -z defs
      * 412597 : Simplify GstSunAudioSrc
      * 412608 : [avidemux] flow return aggregation can ignore errors
      * 414168 : Mixes spaces and tabs in Makefile.am defs
      * 416445 : [avidemux] seeking regressions
      * 416727 : [v4l2src] typo in printf format string
      * 416728 : [v4l2src] typo in translated strings
      * 417729 : [autoaudiosink] plugs alsaspdifsink, breaking playbin
      * 419338 : [wavparse] critical warning from plugin viewer
      * 420208 : Probably typo
      * 426044 : [flacenc] broken files when used with oggmux
      * 427990 : [rtph264depay] sprop-parameter-set erros
      * 428611 : [ximagesrc] segfaults when used from a non-X terminal
      * 428901 : [icydemux]  broken tags for non-UTF-8/ISO-8859-1-using ra...
      * 429319 : [alphacolor] distorts png images without alpha channel
      * 429666 : [goom] totem skips mp3 (while Rhythmbox doesn't)
      * 430228 : [sunaudio] copyright bug
      * 430632 : memory problem
      * 430804 : [PATCH] navseek only seeks (sort-of) partially
      * 431282 : broken RTP depayloaders
      * 433119 : wavparse causes skipping for MPEG-encoded RIFF Wav files ...
      * 433135 : [wavparse] regression in CVS with mp3-in-wav
      * 433530 : udpsrc read of size 0
      * 434824 : rtp mp4 payloader doesn't handle newsegments and flush ev...
      * 436910 : [videomixer] wrong strides with odd input width
      * 437499 : [wavparse] can't handle WAV file with 'LIST'  header chunk
      * 437670 : Improvements for rtsptransport.[ch]
      * 437692 : Some more fixes for the RTSP support
      * 438926 : invalid comparison of pointer with string literal
      * 438940 : [rtph263ppay] Support for Segment Fragmentation based on ...
      * 440127 : Autoaudiosink does extra switching between null and ready...
      * 440203 : Support multiple RTSP headers of the same type
      * 440928 : Improved RTSP version support, and added Date header
      * 441408 : speexdec plays incorrectly files made with nframes=4
      * 442535 : [wavenc] Doesn't handle width!=depth files with audio/x-r...
      * 442677 : WideBand AMR payloaders
      * 443081 : [wavparse] fails to post error on FLOW_NOT_LINKED
      * 445905 : ximagesrc disregards display_name property
      * 446981 : error during the compilation of rtspconnection.c
      * 447210 : wrong length calculation for codec_data
      * 447458 : [qtdemux] export AMRSpecificBox as codec_data
      * 385887 : [flac] make work with libflac-1.1.3
      * 404646 : [audiofx] Compressor/Expander element
      * 424527 : [auparse] don't convert non-native endianness floats in t...
      * 387121 : [matroskamux] Can't mux raw audio
      * 392855 : [matroska] plugin must link against zlib (error with MinGW)
      * 394851 : [audiopanorama] Some trivial docs fixes
      * 394859 : [audiopanorama] New simple method for adjusting the panorama
      * 398086 : [smpte] crashes if input dimensions differ
      * 406018 : 64bit uncleanness in gstavimux.c
      * 407057 : [wavparse] leaks contents of every buffer pushed when in ...
      * 407349 : [id3demux] wrongly interprets TDAT as year
      * 350278 : [rtpmp2tdepay] Add support for proprietary headers
      * 380895 : A couple of corrections and improvements for the RTSP sup...
      * 380944 : [dvdec] Doesn't set pixel-aspect-ratio
      * 394977 : multipartmux not honoring flow return
      * 403956 : Add float32 support for " level " element
      * 405213 : mp3 plays too fast in totem or rhythmbox
      * 407006 : [goom] odd adapter behaviour
      * 412704 : [PATCH] gamma filter ported to 0.10
      * 414887 : [gconf] gconfaudiosink doesn't set GST_ELEMENT_IS_SINK un...
      * 415446 : [avidemux] fails parsing mjpeg file from digital camera
      * 417792 : rtp depayloader for AAC
      * 423304 : file descriptor closed in udpsrc and dynudpsink
      * 423782 : Code for H264 payloader
      * 428182 : Current CVS generates compiler warnings
      * 429329 : [videobox] add support for AYUV input
      * 442874 : Multipartmux assumes caps == mime

Changes since 0.10.4:

      * Parallel installability with 0.8.x series
      * Threadsafe design and API
      * RTP/RTSP improvements
      * Fixes in OSS support
      * Addition of the audiopanorama element
      * Improvements in AVI playback
      * Annodex playback fixes
      * Support FLAC in OGG and Matroska
      * Fixes in the Speex decoder
      * V4L2 source moved from Bad Plugins
      * SMPTE element ported to 0.10
      * GStreamer Data Protocol (GDP) Payloader and Depayloader elements added
      * Many other bug-fixes

Bugs fixed since 0.10.4:

      * 336465 : [patch] Streaming support for avidemuxer
      * 349207 : [PLUGIN-ADD] audiopanorama
      * 341278 : [autoaudiosink] should fallback to fakesink
      * 342950 : Implement device profiles in autoaudiosink/autoaudiosrc
      * 348233 : dv1394src crashes with libavc1394 0.5.3 - cause known
      * 349015 : [sunaudio] open source with O_NONBLOCK
      * 349894 : RTSP Multicast
      * 351347 : --disable-schemas-install now works too well
      * 351794 : [id3demux] try harder to extract wrongly marked strings
      * 352577 : [avidemux] regression in CVS with Elephant's Dream
      * 355210 : Sample pipeline from the documentation doesn't work properly
      * 356142 : GST Sun Audio Mixer doesn't set only Output Track as Mast...
      * 356147 : [avimux] duration in header not correct for big avi ( > 2 ...
      * 357592 : Avoid compiler warnings with uClibc and -Werror
      * 361637 : h263 variant missing from RTP (de)payloaders' caps
      * 361639 : MPA payloader's payload number is incorrect
      * 362603 : Fixes compiling with forte: warning clean up (part 4)
      * 362673 : Playback with 4Front OSS driver not working due to blocki...
      * 366492 : add windows vs8 project files
      * 369621 : [avidemux] Out-of-sync playback with VBR MP3 audio
      * 372021 : flxdec has wrong classification
      * 374213 : Seeking with LADSPA plug-ins fails
      * 374479 : [PATCH] videomixer memleak fix and enhancement
      * 374737 : [matroskademux] doesn't recognise opaque " A_AAC " codec ID
      * 376594 : id3demux crashes when reading compressed ID3 frames
      * 379433 : [PATCH] avidemux audio pad reports wrong position upon query
      * 379792 : Remove memcpy in multipartmux and fix RFC compliance
      * 379918 : Doesn't compile with newer libcaca versions (0.99.beta4+)
      * 380199 : [matroskademux] Wrong framerate conversion
      * 380825 : make avimux accept video/mpeg in versions 1, 2 and 4
      * 381857 : [id3v2mux] crashes trying to write empty frames
      * 382179 : Videomixer shouldn't reset position to 0 when the caps ar...
      * 382277 : multipartmux modifies buffer timestamp
      * 382982 : [apedemux] Fails to read track gain or other doubles
      * 383001 : [PATCH] if using multicast in udpsrc, bind to the multica...
      * 383043 : Videomixer can crash when adding/removing pads  while pla...
      * 383596 : mixer doesnot work if set AUDIODEV on solaris
      * 384587 : libcaca check breaks cross-compile
      * 385031 : [id3demux] autoplug loop if first buffer has nonzero offs...
      * 385623 : [quarktv] crash when plugged dynamically into a pipeline
      * 343348 : [matroska] add support for vobsub subtitles
      * 345449 : [icydemux] Internet radio hangs when connecting to radio....
      * 348762 : [ID3v2] comment frame extraction/writing doesn't retain d...
      * 351116 : 'make check' tries to run annodex unit tests even if anno...
      * 352110 : [flacdec] no support for ogg flac
      * 366155 : [matroskademux] Several problems in encoding handling code
      * 374658 : [matroskamux] add tag writing support and implement relea...
      * 378184 : g-s-p crash due to incorrect free from do_toggle_element
      * 360673 : [PATCH] Stuttering with SunAudio Sink
      * 349068 : multipart demuxer improvements
      * 350006 : [LADSPA] after changing state from PLAYING to READY/NULL,...
      * 350340 : CMML test cases and small fixes
      * 350785 : [ossmixer] provides no way to set mixer device
      * 353908 : Error seeking at the beginning of a CMML file
      * 356596 : [wavparse] Does not support GSM encoded audio
      * 358156 : in udpsrc.c gst_udpsrc_create function read command could...
      * 361252 : Memory leak in udpsrc
      * 364958 : [avidemux] broken timestamping in streaming mode
      * 367221 : [PATCH] videomixer does not mix for some framerate combin...
      * 368162 : iLBc rtp payloaders and depayloaders not compiled
      * 377792 : rtspsrc tries to stream application/x-wms-rtx
      * 383323 : smpte doesn't handle sink1 and sink2 correctly
      * 383726 : [audiopanorama] only transforms half of the samples in fl...
      * 349901 : [LADSPA] gst_element_class_add_pad_template: assertion `g...
      * 375476 : v4l2src cannot close /dev/video0

Changes since 0.10.3:

      * added apev2mux element
      * use libiec61883 for Firewire

Bugs fixed since 0.10.3:
    
      * 345930 : [id3demux] segfaults with file containing only ID3v1 tag
      * 347529 : wavparse error
      * 321191 : rtpamrdec isn't a subclass of GstBaseRtpDepayload
      * 340027 : [patch] wavparse fails for several files
      * 318563 : offer support for new raw1394_iso api in dv1394src
      * 330623 : [avidemux] only the beginning of big avi files gets played
      * 334375 : [id3demux] [id3v2mux] ID3 tag rewriting is lossy
      * 337076 : Problem with broken matroska files containing non-UTF8 su...
      * 339704 : [id3demux] read images from ID3 tags
      * 340282 : Goom visualization is unusable at 'Normal' size and higher
      * 340623 : [matroskademux] small memory leak
      * 340699 : [flacdec] should not send EOS when doing segment seeking
      * 340859 : [avimux] produces index with all frames marked as keyframes
      * 340946 : raw1394 plugin uses deprecated functions
      * 340979 : [id3demux] mp3 id3v2 TCON tag possible bug?
      * 341489 : gst-plugins-good wavparse Cygwin fix
      * 341774 : Fails to read tags in file
      * 341818 : [matroskademux] poor concurrent performance
      * 342029 : [id3demux] overflow of titlenumbers
      * 342097 : [jpegdec] crash with attached JPEG file
      * 342448 : [matroska] support for muxing/demuxing Theora video
      * 342526 : [avimux] dml index support, codec_data support, cleanups
      * 342592 : dvdemux doesn't post segment-done right
      * 342734 : [matroskamux] might block on state-change
      * 343051 : [autoaudiosink] doesn't try esdsink
      * 343055 : README mentions 0.9.6
      * 343117 : jpegdec, mjpeg avi's and flush seeks
      * 343122 : [taglib] new apev2mux element
      * 343123 : [apedemux] add support for GST_TAG_LOCATION
      * 343127 : [apedemux] extract track count, clean up parsing
      * 343602 : configure --disable-external fails
      * 343603 : need to add -lm to build tests/examples/level
      * 343678 : configure.ac incorrectly uses $(SED) rather than $SED
      * 343837 : [wavparse] can't handle WAV file with 'bext' header chunk
      * 344100 : --disable-schemas-install not honored
      * 344101 : SunAudio mixer fixes
      * 344120 : dv1394src should now require libraw1394 > = 1.1.0
      * 344605 : [id3demux] set picture type on image buffers
      * 345232 : [wavparse] reads beyond end-of-file (in pull mode)
      * 345288 : [udp] make work on Windows
      * 345713 : ximagesrc uses XFixesCursorImage incorrectly and will seg...
      * 346066 : [sunaudiosink] don't override user setting and switch on ...
      * 346259 : [sunaudio] move monitor to input tab in mixer
      * 347234 : streaming UDP (MPEGTS) shows only one frame of video
      * 347258 : [wavparse] internal stream error reading gnome-game gnibb...
      * 347898 : [id3v2mux] write GST_TAG_ENCODER and GST_TAG_ENCODER_VERSION
      * 347972 : [cdiocddasrc] core dumps if device is not found
      * 348644 : [id3demux] Gets the wrong part of binary blob for ID3 v2....
      * 348752 : [udpsrc] add property to set buffer size for udp socket
      * 348913 : [id3v2mux] tagging utf-8 text may be converted to iso-8869-1
      * 349155 : [smokeenc] does not set caps on it's buffers
      * 349189 : LADSPA gstsignalprocessor.c: line 408: assertion failed: ...
      * 349907 : multiudpsink messes up multicast addresses
      * 350433 : [rtph263pdepay] h.263plus depayloader does not work
      * 340492 : [flacdec] support push-based operation (and thus flac-ove...
      * 345679 : fix to avoid goom core dumping
      * 317470 : [GstCheck] gst_check_teardown_element asserts wrong refcount
      * 340980 : [pixbuf,wavparse] fix build with gcc 2.95
      * 343661 : Jpeg image crashes gstreamer
      * 344923 : New SunAudio source plugin, and mixer now supports stereo...
      * 345301 : [PATCH] gst-plugins-good rtsp for Windows
      * 346921 : gstmultiudpsink multicast support is broken
      * 344136 : More accurate list of plugins which will/will not be buil...

Changes since 0.10.2:

      * Annodex/CMML support
      * RTSP and RTP enhancements
      * HAL configured audio device support
      * FLAC, Matroska, AVI, WAV, ID3, APE, DV and JPEG plugin improvements
      * Recognise SSA/ASS and USF subtitles in Matroska files
      * Fixes for ESD and SunAudio output plugins
      * More uniform plugin descriptions
      * IceCast metadata reading plugin added
      * New plugins ported from 0.8: OSX audio, AVI muxer, X-Windows input, 
         WAV encoder, Gdk-Pixbuf image decoder, Smoke decoder, 
         Video colour balance
      * Lots of bug fixes

Bugs fixed since 0.10.2:

      * 335067 : RTSP src not working with WMServer servers
      * 333657 : Replacing icy demuxing in gnomevfssrc
      * 329106 : HAL sound device wrapper plugins
      * 337749 : totem (gstreamer) crashes when playing an avi file
      * 330885 : avidemux does not handle eos at end of seek-region
      * 337364 : faulty GObject macros
      * 337625 : [patch] Streaming support for wavparse
      * 150363 : [pngdec] doesn't handle grayscale or paletted
      * 154744 : Time slider does not work with avi videos from Cannon SD100
      * 161712 : [auparse] .au files don't play in playbin
      * 313266 : [wavparse] will not play DTS stream in malformed WAV
      * 319183 : rtspsrc filter sometimes uses an odd port for rtp
      * 319986 : annodex decoding and encoding support
      * 323721 : [id3demux] read in replaygain information from RVA2 frame...
      * 323880 :  " Seek in ready " for dvdemux
      * 325191 : problem with auparse or mulawdec, choppy esd playback
      * 326160 : videobalance not ported to new GstVideoFilter
      * 327658 :  " Seek in ready " support for wavparse plugin
      * 328327 : gst-plugins-good fail to compile with gcc 4.1
      * 329107 : Profile support for gconfaudiosink
      * 330239 : Crash playing any song from a particular album over rhyth...
      * 330678 : Unable to play .fli files
      * 331253 : Critical warnings when using cddacdiosrc
      * 331368 : Gstreamer doesn't recognise tags
      * 331385 : [alpha] state change function returns a constant
      * 331672 : Another file that gstreamer can't read the tags on
      * 331905 : [jpeg] smokedec not ported
      * 331917 : [pngdec] does not support files with png streams
      * 332031 : [PATCH] avimux ported to 0.10
      * 332547 : [wavparse] does not support multichannel wavs
      * 333070 : [id3demux] reads unicode tags incorrectly where .8 did it...
      * 333302 : [apedemux] some WavPack files with APE tags fail to play ...
      * 333392 : [sunaudio] unused variables break CVS build with -Werror
      * 333512 : [PATCH] Fix gst_pad_new_from_template (gst_static_pad_tem...
      * 333624 : invalid get_times implementation in gstdynudpsink
      * 333784 : [patch] unref the result of gst_pad_get_parent
      * 334083 : [jpegdec] wrong durations set on buffers after seeking in...
      * 334522 : avi of mpeg4 video and adpcm audio from digital camera re...
      * 334732 : [id3demux] mp3 fails to play because typefinding thinks i...
      * 334995 : [goom] zoom filter leaked
      * 335231 : [wavparse] incorrect way to calculate seek position with ...
      * 335755 : rhythmbox import crasher - png?
      * 335858 : Video playback out of sync
      * 335958 : [speexenc] doesn't work
      * 336110 : move taglib-based ID3 muxer to -good
      * 336602 : plugins need better/univied descriptions
      * 336756 : move ximagesrc to gst-plugins-good
      * 336889 : [avidemux] index creation might fail with some non-indexe...
      * 336904 : Problem playing some AVI file when splitting large chunks...
      * 337033 : [speex] can't seek in speex-encoded audio
      * 337183 : [matroska] " caps not real subset " when playing audio files
      * 337294 : AVI files downloaded from vidoe.google.com won't play
      * 337421 : [sunaudiosink] some fixes
      * 337609 : [flacdec] can't play .flac files where header says total_...
      * 338290 : [flacdec] segment seek not supported
      * 338713 : [id3demux] TCO genre tags (id3v2.2) don't get read by gst...
      * 338715 : [shout2send] fix crash on error and tags received before ...
      * 338716 : [wavenc] " not negotiated " error with CVS core
      * 338810 : [matroskademux] blocks on segmenting seek (and other seek...
      * 339446 : [matroska] can't play file if details come before type in...
      * 339451 : [matroska] enhancement for VfW compatibility cases
      * 339678 : [matroskamux] wrong timestamps of B-frames
      * 340346 : [matroskamux] blocks upon muxing video and vorbis-audio
      * 319884 : rtpamrdec discards non-transmitted frames

Changes since 0.10.1:
      * New libcdio based CDDA reading element
      * APE tag reader ported
      * ID3 tag reading fixes
      * Sun Audio Sink fixes
      * GOOM and gconf element fixes
      * lots of bug and leak fixes

Bugs fixed since 0.10.1:
      * 328336 : silence warings which make dvdec / dvdemux unusable
      * 315557 : Internal event problem with MP3s from vgmix.com
      * 323327 : [cdio] port cddasrc to 0.10
      * 325148 : Bugs in G711 RTP packetization logic
      * 325649 : apetag plugin needs porting to 0.10
      * 326446 : check that all elements in -good pass queries they can't ...
      * 326602 : id3demux is not compiling without ZLIB
      * 326683 : build problem caused by AS_LIBTOOL_TAGS([CXX])
      * 326736 : gconf(audio|video)sink response to key changes
      * 326864 : [wavparse] time to bytes format conversion broken
      * 327009 : [esdsink] won't compile with includes in non-standard prefix
      * 327765 : [sunaudio] fixes for mixer and stuttering mp3 playback
      * 327825 : [matroskamux]  Matroska muxer deadlock
      * 327871 : [videobox] crash when cropping
      * 328241 : id3demux emits NULL date for year tags
      * 328264 : Fix build with gcc 2.95
      * 328531 : [matroskamux] doesn't send newsegment event, critical war...
      * 329181 : totem crash when using goom effect
      * 329810 : Fails to read ID3 tag
      * 330005 : Please use the autodetect sinks by default
      * 317658 : [cdio] support for cd-text and cd-g

Changes since 0.10.0:
    
      * new id3 demuxer (replaces the mad one in gst-plugins-ugly)
      * memleak fixes in avidemux, wavparse, level, smoke
      * ports of multipart, 
      * fixes in flacdec, flxdec, rtp
      * documentation updates on videomixer 
      * added new sunaudiosink, gconfaudiosrc and gconfvideosrc elements

Bugs fixed since 0.10.0:
    
      * 321269 : add sunaudio to 0.9
      * 322769 : The ID3 tag of this file is a segfaulter
      * 323021 : sockfd property to udpsrc/dynudpsink elements
      * 322975 : erroneous audio specs in flac plugin
      * 323226 : block/crash on id3 v2 tags when using big blocksize
      * 323717 :  < netinet/in.h > inclusion necessary on some systems
      * 323718 : [oss] does not build on OpenBSD 3.8 because of hardcoded ...
      * 323896 : pngdec/videomixer negotation problem in 0.10
      * 324011 : Invalid payload type definition for some rtp payloaders
      * 324012 : Invalid caps on rtpspeexpay element
      * 325504 : [flacdec] gst_flac_dec_convert_src [mis]uses g_assert
      * 325974 : [gst0.10] doesn't correctly gets the tags on a mp3
      * 326612 : Serious memory leak in level plugin
      * 326618 : memleak fix in smokeenc

API added since 0.10.0:
     
      * device-name property on ossmixer subclasses
      * GstUDPSrc::sockfd property

Changes since 0.9.6:
    
      * Parallel installability with 0.8.x series
      * Threadsafe design and API
      * effectv elements ported
      * videoflip updated
      * multipart ported
      * dv seeking fixed
      * rtp elements renamed

Bugs fixed since 0.9.6:
    
      * 322377 : udpsrc leaks sockets
      * 322643 : Incorrect matroska frame default duration
      * 322645 : Matroska muxer: wrong pixel aspect ratio
      * 322667 : [jpegenc] leaks input buffer
      * 322794 : udp plugin linked against gstnet instead of gstnetbuffer
  
Changes since 0.9.5:
    
      * added speex RTP payloader/depayloader
      * ported cutter
      * fractional framerates
      * more video filters now use BaseTransform

Bugs fixed since 0.9.5:
    
      * 319184 : rtspsrc: invalid read in sdp_message_parse_buffer ()
      * 321001 : [matroskademux] should seek to nearest preceding index en...
      * 321430 : goom fails to register on amd64

Changes since 0.9.4:
    
      * matroskamux fixes
      * wavenc fixes
      * cairotextoverlay ported

Bugs fixed since 0.9.4:
    
      * 315194 : Licence information inconsistency of gst-plugins-good/gst...
      * 319731 : [matroska] SimpleBlock support for muxer and demuxer
      * 320308 : [matroska] set timestamps for buffers with ebml elements
      * 320920 : [osssink] tries to reuse a bad file descriptor
      * 321136 : [matroska-mux] avoid reading from unref'ed buffer

Changes since 0.9.3:

      * DV/Firewire fixes
      * speexenc, cairotimeoverlay, matroska, pngdec, flxdec, videomixer,
        alphacolor ported

Bugs fixed since 0.9.3:

      * 316204 : MinGW compilation: smtpe plugin has undefined symbols fro...
      * 316205 : Debug category for wavenc is not defined
      * 318847 : Matroska muxer port to 0.9

Changes since 0.9.1:

      * Parallel installability with 0.8.x series
      * Threadsafe design and API

Bugs fixed since 0.9.1:

      * 316202 : MinGW compilation: undefined autoconf macro GST_DOC
      * 317338 : [osssink] can't handle mono
