Release notes for GStreamer Base Plug-ins 0.10.30 "Difficult Birth"
        


The GStreamer team is proud to announce a new release
in the 0.10.x stable series of the
GStreamer Base Plug-ins.


The 0.10.x series is a stable series targeted at end users.
It is not API or ABI compatible with the stable 0.8.x series.
It is, however, parallel installable with the 0.8.x series.



This module contains a set of reference plugins, base classes for other
plugins, and helper libraries.

This module is kept up-to-date together with the core developments.  Element
writers should look at the elements in this module as a reference for
their development.

This module contains elements for, among others:

  device plugins: x(v)imagesink, alsa, v4lsrc, cdparanoia
  containers: ogg
  codecs: vorbis, theora
  text: textoverlay, subparse
  sources: audiotestsrc, videotestsrc, gnomevfssrc, giosrc, appsrc
  network: tcp
  typefind functions
  audio processing: audioconvert, adder, audiorate, audioresample, volume
  visualisation: libvisual
  video processing: ffmpegcolorspace
  aggregate elements: uridecodebin, playbin2, decodebin2, decodebin, playbin


Other modules containing plug-ins are:


gst-plugins-good
contains a set of well-supported plug-ins under our preferred license
gst-plugins-ugly
contains a set of well-supported plug-ins, but might pose problems for
    distributors
gst-plugins-bad
contains a set of less supported plug-ins that haven't passed the
    rigorous quality testing we expect



  

Features of this release
    
      * Use Orc (Optimized Inner Loops Runtime Compiler) for SIMD and
        other optimisations, and remove liboil dependency. The main goal
        for this release was to make the transition from liboil to liborc.
        Performance improvements should not be expected and will be the
        focus of future versions. liborc is an optional dependency for
        the time being, to make it possible to test and develop the very
        latest GStreamer versions on systems that don't have orc yet.
        However, without orc slow unoptimised backup code will be used
        for many performance critical code paths. Distributors are urged
        to package and ship the latest version of liborc and compile
        GStreamer modules with --enable-orc. Please do not distribute
        GStreamer packages that are not orc enabled. More information on
        the orc integration can be found in the docs/design/ directory.
      * basertpaudiopayload: Set duration on buffers; add extra frame for
        non-complete frame lengths
      * riff: add mappings for On2 VP8 and VP6F (On2 VP6 Flash variant)
      * video: Add support for RGB/BGR with 15 and 16 bits, and Y800 and Y16
      * xmp/exif tags: add mappings for new tags (device, geo location, image orientation)
      * adder, audioconvert, audioresample, volume: convert from liboil to orc
      * adder: rework timestamping; only accept seek-types SEEK_NONE and SEEK_SET
      * decodebin2: add "expose-all-streams" property to not expose/decode all streams
      * decodebin2: use accumulator for autoplug-sort
      * ffmpegcolorspace: add YUY2/YVYU to all RGB formats conversions
      * ffmpegcolorspace: fix conversion of packed 4:2:2 YUV to RGB and 8 bit grayscale
      * ffmpegcolorspace: fix Y16 from/to GRAY8 conversion
      * ffmpegcolorspace: fix Y42B from/to YUY2/YVYU/UYVY conversion for odd widths
      * ffmpegcolorspace: Map "Y8  " and "GREY" to "Y800" and add it to the template caps
      * ffmpegcolorspace: negotiation speed-ups
      * oggdemux: implement seeking and duration estimates when operating in push mode (http etc.)
      * oggdemux: parse Skeleton index packets for better seeking in push mode
      * oggdemux: fix granulepos->key granule calculation for Dirac video
      * oggdemux: fix EOS flow aggregation: only EOS when all streams are EOS
      * oggmux: Start a new page for every CMML buffer
      * ogg: Implement Ogg VP8 mapping
      * playbin2: add "av-offset" property to adjust audio/video sync
      * playbin2: add flag for enabling/disabling automatic deinterlacing
      * playbin2: fix race when querying duration right after preroll, by
        forwarding duration query duration during group switch if no cached
        duration exists
      * playbin2: if a text sink is provided, let subtitle parsing be done by
        decodebin2 if required
      * playbin2: set the subtitle encoding on the decodebins again
      * playsink: also expose "convert-frame" action signal and "frame" property in playsink
      * playsink: reconfigure the video chain correctly when switching from a
        subtitle to a non-subtitle file
      * playsink: Don't fail if subtitles are used but only audio is available
        and no visualizations
      * typefinding: add WebM typefinder (was in -good before)
      * typefinding: add IVF and dts typefinders, improve AC-3 and jpeg typefinding
      * typefinding: detect ISO 14496-14 files as video/quicktime not audio/x-m4a
      * uridecodebin: add all qtdemux types to downloadable types
      * uridecodebin: add the 'expose-all-streams' property from decodebin2
      * uridecodebin: Allow video/webm for progressive downloading
      * videorate, videotestsrc: fixate color-matrix, chroma-site and interlaced fields if necessary
      * videoscale: Try to keep DAR when scaling
      * videoscale: Add support for Y444, Y42B and Y41B and more gray formats
      * videoscale: Fix resampling of ARGB scanlines
      * videoscale: Try harder to keep the DAR if possible
      * videoscale: Use passthrough mode if width and height are not changed

Bugs fixed in this release
     
      * 621428 : [playbin2] ghostpad with arbitrary getcaps func leads to not working srt subtitles
      * 371108 : videoscale sucks at basic mathematics when it comes to PAR
      * 512740 : unit test failures if compiling against installed core with installed plugins-base also present
      * 605100 : GNOME Goal: Remove deprecated glib symbols
      * 610866 : [playbin2] Don't fail if there are subtitles and audio but no video
      * 614872 : [tag] Add basic exif support
      * 614942 : playbin2: " text-sink " is supposed to handle raw subtitle data?
      * 615783 : reworked timestamping in adder
      * 616396 : [playbin2] might fail a duration query immediately following PAUSED state
      * 616422 : playsink might not handle reconfiguring after a text enabled file correctly
      * 616557 : [videorate] Add support for video/x-raw-gray
      * 617636 : [rtsp] uses unicode characters in date string
      * 617855 : [oggdemux] Fails to play LAC2010 videos
      * 617868 : [decodebin2] Option to not expose/decode all streams
      * 618324 : rtp payloader don't put the duration on their output buffers
      * 618392 : [avi-demux] Gstreamer does not support 1x1 or 1xN avi files
      * 618625 : lock priv mutex in appsrc when setting caps
      * 619090 : [uridecodebin] caps negociation fail
      * 619102 : [PATCH] WebM typefinder
      * 619310 : [videorate] negotiation issue, tries to set unfixed caps on pad
      * 619396 : gstreamer does not seek http streams of Ogg Vorbis and Flac audio files.
      * 620136 : Orc integration
      * 620140 : [gio] report out-of-space errors
      * 620211 : gst-plugins-base gets confused by dual-QT system
      * 620279 : [playsink] expose 'frame' property and move 'convert-frame' action from playbin2
      * 620342 : [baseaudiosink] Allocate and free the clock in state changes
      * 620412 : [video] Incomplete support for 15 and 16 bit RGB and BGR formats
      * 620441 : [video] Add support for Y800 and Y16 formats
      * 620500 : totem won't do progressive download for flv videos
      * 620720 : typefinding: Mark ISO 14496-14 files as video/quicktime
      * 620939 : [oggdemux] No support for Skeleton 4.0 streams
      * 621071 : [playbin2] no playback with fakesink instead of appsink as text-sink
      * 621161 : autoplug-sort default callback is run last - overwrite user supplied callback result
      * 621190 : video sink drops buffers if it's preceded by ffmpegcolorspace, videoscale and a capsfilter
      * 621509 : [xmptag] Uses uninitialized variable
      * 621572 : [videoscale] Adds horizontal green lines in bilinear mode
      * 622696 : ffmpegcolorspace: Speed up caps nego by using simpler caps
      * 622807 : [decodebin2] Doesn't recover properly after an error
      * 622944 : Require automake 1.9 or newer for $(builddir)
      * 623003 : Major problems with calls to gst_util_uint64_scale()
      * 623176 : riff: matroska file with FLV4 FOURCC fails to play
      * 623218 : oggdemux: Handle errors from _get_next_page in _do_seek.
      * 623233 : GstNetBuffer initialization isn't thread safe.
      * 623318 : [playbin2] If source setup fails the old uridecodebin is kept and breaks future playback
      * 623375 : [ffmpegcolorspace] Invalid memory accesses with odd widths/height during subsampling
      * 623384 : [ffmpegcolorspace] Doesn't write last pixel for odd widths in packed 4:2:2 YUV- > RGB conversion
      * 623418 : [ffmpegcolorspace] Fix packed 4:2:2 YUV to 8 bit grayscale conversion for odd widths
      * 623530 : Stripy pattern with videotestsrc ! ffmpegcolorspace ! ximagesink
      * 623583 : regression: DVD playback broken
      * 624266 : [playbin2] Internal uridecodebin are not properly removed in READY= > NULL
      * 547603 : [playbin2] add deinterlacing support

API changed in this release
     
- API additions:
    
* GST_VIDEO_FORMAT_v308
* GST_VIDEO_FORMAT_Y800
* GST_VIDEO_FORMAT_Y16
* GST_VIDEO_FORMAT_RGB16
* GST_VIDEO_FORMAT_BGR16
* GST_VIDEO_FORMAT_RGB15
* GST_VIDEO_FORMAT_BGR15
* gst_tag_image_orientation_to_exif_value ()
* gst_tag_image_orientation_from_exif_value ()
* gst_tag_list_to_exif_buffer ()
* gst_tag_list_to_exif_buffer_with_tiff_header ()
* gst_tag_list_from_exif_buffer ()
* gst_tag_list_from_exif_buffer_with_tiff_header ()

Download

You can find source releases of gst-plugins-base in the download directory:
http://gstreamer.freedesktop.org/src/gst-plugins-base/

GStreamer Homepage

More details can be found on the project's website:
http://gstreamer.freedesktop.org/

Support and Bugs

We use GNOME's bugzilla for bug reports and feature requests:
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer

Developers

GStreamer is stored in Git, hosted at git.freedesktop.org, and can be cloned from there.
Interested developers of the core library, plug-ins, and applications should
subscribe to the gstreamer-devel list. If there is sufficient interest we
will create more lists as necessary.

        
Applications
  
Contributors to this release
    
      * Alessandro Decina
      * Andoni Morales
      * Arun Raghavan
      * David Schleef
      * Edward Hervey
      * Fredrik Söderquist
      * Jonathan Matthew
      * Joshua M. Doe
      * Mark Nauwelaerts
      * Martin Bisson
      * Olivier Crête
      * Philip Jägenstedt
      * Philippe Normand
      * Prahal
      * Sebastian Dröge
      * Stefan Kost
      * Thiago Santos
      * Tim-Philipp Müller
      * Wim Taymans