GStreamer

Software Screenshot:
GStreamer
Software Details:
Version: 1.14.2 updated
Upload Date: 17 Aug 18
Developer: Wim Taymans
Distribution Type: Freeware
Downloads: 117

Rating: 1.0/5 (Total Votes: 3)

GStreamer is an open source library, a complex piece of software that acts as a multimedia framework for numerous GNU/Linux operating systems, as well as Android, OpenBSD, Mac OS X, Microsoft Windows, and Symbian OSes.

Features at a glance

Key features include a comprehensive core library, intelligent plugin architecture, extended coverage of multimedia technologies, as well as extensive development tools, so you can easily add support for GStreamer in your applications.

It is the main multimedia backend for a wide range of open source projects, raging from audio and video playback applications, such as Totem (Videos) from the GNOME desktop environment, and complex video and audio editors.

Additionally, the software features very high performance and low latency, thanks to its extremely lightweight data passing technology, as well as global inter-stream (audio/video) synchronization through clocking.

Comprises of multiple codec packs

The project is comprised of several different packages, also known as code packs, which can be easily installed on any GNU/Linux distribution from their default software repositories all at once or separately. They are as follows: GStreamer Plugins Base, GStreamer Plugins Good, GStreamer Plugins Bad, and GStreamer Plugins Ugly.

GStreamer is a compact core library that allows for random pipleline constructions thanks to its graph-based structure, based on the GLib 2.0 object model library, which can be used for object-oriented design and inheritance.

Uses the QoS (Quality of Service) technology

In order to guarantee the best possible audio and video quality under high CPU load, the project uses QoS (Quality of Service) technology. In addition, it provides transparent and trivial construction of multi-threaded pipelines.

Thanks to its simple, stable and clean API (Application Programming Interface), developers can easily integrate it into their applications, as well as to create plugins that will extend its default functionality. It also provides them with a full featured debugging system.

Bottom line

In conclusion, GStreamer is a very powerful and highly appreciated multimedia framework for the open source ecosystem, providing GNU/Linux users with a wide range of audio and video codecs for media playback and processing.

What is new in this release:

  • Bugfix release.

What is new in version 1.14.1:

  • Bugfix release.

What is new in version :

  • This release only contains bugfixes and it should be safe to update from 1.8.0.

What is new in version 1.8.2:

  • This release only contains bugfixes and it should be safe to update from 1.8.0.

What is new in version 1.8.0:

  • Hardware-accelerated zero-copy video decoding on Android
  • New video capture source for Android using the android.hardware.Camera API
  • Windows Media reverse playback support (ASF/WMV/WMA)
  • New tracing system provides support for more sophisticated debugging tools
  • New high-level GstPlayer playback convenience API
  • Initial support for the new Vulkan API, see Matthew Waters' blog post for more details
  • Improved Opus audio codec support: Support for more than two channels; MPEG-TS demuxer/muxer can now handle Opus; sample-accurate encoding/decoding/transmuxing with Ogg, Matroska, ISOBMFF (Quicktime/MP4), and MPEG-TS as container; new codec utility functions for Opus header and caps handling in pbutils library. The Opus encoder/decoder elements were also moved to gst-plugins-base (from -bad), and the opus RTP depayloader/payloader to -good.
  • GStreamer VAAPI module now released and maintained as part of the GStreamer project
  • Asset proxy support in the GStreamer Editing Services

What is new in version 1.6.3:

  • Fix regression in GL library that made glimagesink unsable on Android
  • Integer arithmetic overflow in queue2 element that could break buffering or cause crashes due to NULL pointer dereference
  • Fix crash in AAC/ADTS typefinder caused by reading more memory than is available
  • Stop ignoring encoder errors in the VP8/VP9 encoders
  • Deprecate GstVideoEncoder GST_VIDEO_ENCODER_FLOW_DROPPED. It's redudant and was never actually implemented
  • Ensure to store the correct video info in GstVideoBufferPool
  • Fix caps in rtspsrc when doing SRTP over interleaved TCP
  • Fix crash in pcap parser on 0-sized packets
  • Clear EOS flag in appsrc to allow reuse after EOS and flushing
  • Ignore flushing streams in streamsynchronizer during stream switches to fix problems caused by this in gst-editing-services
  • Ignore tags and other metadata in WAV files after the "data" chunk in PUSH mode to prevent them from being interpreted as audio
  • Correctly use colorimetry in v4l2 only for YUV color formats
  • Set reserved bits in MPEG TS muxer to 1s
  • Fix calculation of SBC frame lengths
  • Fix output of the RTP JPEG2000 depayloader to have one frame per buffer and crash in the OpenJPEG decoder on incomplete frames
  • Update ffmpeg snapshot in gst-libav to 2.8.5
  • Memory leak fixes in scaletempo, the raw video RTP depayloader, and in playsink related to audio/video filters
  • Fixes for error handling in the OSX audio plugin
  • Various gobject-introspection annotation fixes and additions
  • Compiler warning fixes for latest clang compiler

What is new in version 1.6.1:

  • Crashes in the gst-libav encoders were fixed
  • More DASH-IF test streams are working now
  • Live DASH, HLS and MS SmoothStreaming streams work more reliable and other fixes for the adaptive streaming protocols
  • Reverse playback works with scaletempo to keep the audio pitch
  • Correct stream-time is reported for negative applied_rate
  • SRTP packet validation during decoding does not reject valid packets anymore
  • Fixes for audioaggregator and aggregator to start producing output at the right time, and e.g. not outputting lots of silence in the beginning
  • gst-libav's internal ffmpeg snapshot was updated to 2.8.1
  • cerbero has support for Mac OS X 10.11 (El Capitan)
  • Various memory leaks were fixed, including major leaks in playbin, playsink and decodebin
  • Various GObject-Introspection annotation fixes for bindings
  • and many, many more

What is new in version 1.6.0:

  • Stereoscopic 3D and multiview video support
  • Trick mode API for key-frame only fast-forward/fast-reverse playback etc.
  • Improved DTS (decoding timestamp) vs. PTS (presentation timestamp) handling to account for negative DTS
  • New GstVideoConverter API for more optimised and more correct conversion of raw video frames between all supported formats, with rescaling
  • v4l2src now supports renegotiation
  • v4l2transform can now do scaling
  • V4L2 Element now report Colorimetry properly
  • Easier chunked recording of MP4, Matroska, Ogg, MPEG-TS: new splitmuxsink and multifilesink improvements
  • Content Protection signalling API and Common Encryption (CENC) support for DASH/MP4
  • Many adaptive streaming (DASH, HLS and MSS) improvements
  • New PTP and NTP network client clocks and better remote clock tracking stability
  • High-quality text subtitle overlay at display resolutions with glimagesink or gtkglsink
  • RECORD support for the GStreamer RTSP Server
  • Retransmissions (RTX) support in RTSP server and client
  • RTSP seeking support in client and server has been fixed
  • RTCP scheduling improvements and reduced size RTCP support
  • MP4/MOV muxer acquired a new "robust" mode of operation which attempts to keep the output file in a valid state at all times
  • Live mixing support in aggregator, audiomixer and compositor was improved a lot
  • compositor now also supports rescaling of inputs streams on the fly
  • New audiointerleave element with proper input synchronisation and live input support
  • Blackmagic Design DeckLink capture and playback card support was rewritten from scratch; 2k/4k support; mode sensing
  • KLV metadata support in RTP and MPEG-TS
  • H.265 video encoder (x265), decoders (libav, libde265) and RTP payloader and depayloaders
  • New DTLS plugin and SRTP/DTLS support
  • OpenGL3 support, multiple contexts and context propagation, 3D video, transfer/conversion separation, subtitle blending
  • New OpenGL-based QML video sink, Gtk GL video sink, CoreAnimation CAOpenGLLayerSink video sink
  • gst-libav switched to ffmpeg as libav-provider, gains support for 3D/multiview video, trick modes, and the CAVS codec
  • GstHarness API for unit tests
  • gst-editing-services got a completely new ges-launch-1.0 interface, improved mixing support and integration into gst-validate
  • gnonlin has been deprecated in favor of nle (Non Linear Engine) in gst-editing-services
  • gst-validate has a new plugin system, an extensive default testsuite, support for concurrent test runs and valgrind support
  • cerbero build tool for SDK binary packages gains new 'bundle-source' command
  • Various improvements to the Android, iOS, OS X and Windows platform support

What is new in version 1.5.2:

  • 740502 : Add absolute property to GstDirectControlBinding
  • 740575 : Fixing DTS in GStreamer
  • 745366 : concat: Forward FLUSH_START / FLUSH_STOP events
  • 746949 : concat: Add active-pad property
  • 750027 : concat: Reset internal start offset to 0 after flushing seek
  • 750033 : basetransform - allow collation/separation of buffers
  • 750039 : Keeping buffers with shared memory alive
  • 750319 : memory: subclasses don't know map flags in unmap
  • 750530 : ptp: FreeBSD, DragonFly and other BSDs don't have ifreq.ifw_hwaddr
  • 750574 : netclientclock: Make the clock a wrapper clock around an internal clock
  • 750761 : inputselector: Handle different duration track selection
  • 750782 : pipeline: Add gst_pipeline_set_latency(), getter and GObject property
  • 751026 : basesink: Properly handle buffer lists for the last-sample property
  • 751047 : concat: Add adjust-base property
  • 751107 : concat: when releasing pad, send EOS appropriately.
  • 751235 : utils: get_compatible_pad does not fully respect filter caps
  • 751420 : basesink: need to deep-copy last buffer list in drain

What is new in version 1.4.5:

  • GStreamer core:
  • 736969 : queue2: dead lock when buffering
  • 738092 : basesink: clamp reported position based on direction
  • 740001 : task: race condition when pausing and stopping
  • GStreamer Plugins Base:
  • 741420 : video pools: should update size in configuration after applying alignment
  • 715050 : add typefinder for audio/x-audible
  • 739544 : tcp: Add test and fix memory leak in tcp elements
  • 739840 : typefind should recognize Apple Core Audio Format (CAF)
  • 740556 : videodecoder: don't complain when DTS != PTS on keyframes
  • 740675 : playsink: continues playback, reset mute property
  • 740730 : rtspconnection: don't remove child source if parent source is already destroyed
  • 740853 : audiodecoder: Push pending events before sending EOS.
  • 740952 : alsa: NetBSD fixes
  • 741045 : audiorate can can lose timestamp precision in some cases
  • 741198 : playbin: leaks GstPads
  • GStreamer Plugins Good:
  • 711437 : apev2mux: should not put APEv2 tags at beginning of WavPack files
  • 726194 : v4l2src does not cope well when a capture card is sometimes interlaced, sometimes progressive at the same resolution
  • 736397 : flvdemux: Per-stream resyncing behavior causes A/V-desyncs
  • 737603 : v4l2bufferpool: set buffer interlace flags when field is V4L2_FIELD_INTERLACED
  • 739476 : vpx: fails to build against libvpx from git
  • 739722 : matroskamux: Thread safe register GstMatroskamuxPad
  • 739789 : v4l2allocator: fix error message if allocator is already active
  • 739791 : v4l2bufferpool: unref pool when v4l2_allocator_new() fails
  • 739792 : v4l2allocator: fix gst_v4l2_allocator_stop prototype
  • 739996 : videomixer: Drops a lot of frames, if one of the sources is live
  • 740040 : v4l2src: Fails in presence of V4L2_BUF_FLAG_ERROR
  • 740392 : rtspsrc: mikey base64 decoded key-mgmt leak
  • 740407 : qtmux limits capture to 4096x4096
  • 740633 : v4l2src: RW io-mode is broken
  • 740636 : v4l2src: framerate is not always set on driver
  • 740671 : aspectratiocrop: crop needs to be reset when video size changes
  • 740905 : v4l2: still has 1 include to linux/videodev.h
  • 741271 : rtph264pay: Buffer leak in H.264 payloader when using SPS/PPS
  • 741381 : rtph264pay: Race condition may cause crash when going from PAUSED- > READY
  • 741407 : deinterlace: in query_caps return only supported formats if filter is interlaced
  • 737579 : v4l2object: set colorspace for output devices
  • 739754 : v4l2bufferpool: Should validate that all memories are writeable before queueing back
  • GStreamer Plugins Bad:
  • 722764 : rawparse: fix SEEKING query handling
  • 729768 : mpegtsbase: Raise limit to read more bytes initially to find PCR
  • 739152 : gl/cocoa: build with GNUStep fails
  • 740191 : dvbbasesink: segfaults on 32-bit (rpi)
  • 740201 : gl/cocoa: Does not compile on OSX < 10.7 anymore
  • 740451 : srtpdec: leaks rtp/rtcp sink events
  • 740953 : configure.ac: unportable test(1) comparison operator
  • 741321 : opusparse: fix header parsing esp. of encoded output of libopus
  • GStreamer RTSP Server:
  • 739481 : rtsp-stream: leaks srtp decoder when leaving rtpbin

What is new in version 1.4.4:

  • Bugs fixed in version 1.4.5:
  • 737498 : multiqueue: doesn't take GAP event into account when calculating current level
  • 737794 : multiqueue: deadlock if queue overruns with serialized events
  • 737999 : systemclock: multi-thread entry status issue
  • 738198 : multiqueue: Does not wake up not-linked streams on EOS

What is new in version 1.4.1:

  • The 1.4 release series is adding new features on top of the 1.2 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework that contains new features. The 1.4.x bugfix releases only contain important bugfixes compared to 1.4.0.

What is new in version 1.4 RC2:

  • The GStreamer team is pleased to announce the second release candidate of the stable 1.4 release series. The 1.4 release series is adding new features on top of the 1.0 and 1.2 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework.
  • This release candidate will hopefully shortly be followed by the stable 1.4.0 release if no bigger regressions or bigger issues are detected, and enough testing of the release candidate happened. The new API that was added during the 1.3 release series is not expected to change anymore at this point.

What is new in version 1.4 RC1:

  • New API:
  • GstMessageType has GST_MESSAGE_EXTENDED added. All types before that can be used together as a flags type as before, but from that message onwards the types are just counted incrementally. This was necessary to be able to add more message types. In 2.0 GstMessageType will just become an enum and not a flags type anymore.
  • GstDeviceMonitor for device probing, e.g. to list all available audio or video capture devices. This is the replacement for GstPropertyProbe from 0.10.
  • Events accumulate the running-time offset now when travelling through pads, as set by the gst_pad_set_offset() function. This allows to compensate for this in the QOS event for example.
  • GstBuffer has a new flag "tag-memory" that is set automatically when memory is added or removed to a buffer. This allows buffer pools to detect if they can recycle a buffer or need to reset it first.
  • GstToc has new API to mark GstTocEntries as loops.
  • A not-authorized resource error has been defined to notify applications that accessing the resource has failed because of missing authorization and to distinguish this case from others. This change is actually already in 1.2.4.
  • GstPad has a new flag "accept-intersect", that will let the default ACCEPT_CAPS query handler do an intersection instead of subset check. This is interesting for parser elements that can handle incomplete caps.
  • GstCollectPads has support for flushing and a default handler for SEEK events now.
  • New GstFlowAggregator helper object that simplifies handling of flow returns in elements with multiple source pads. Additionally GstPad now always stores the last flow return and provides an API to retrieve it.
  • GstSegment has new API to offset the running time by a specific value and this is used in GstPad to allow positive and negative offsets in gst_pad_set_offset() in all situations.
  • Support for h265/HEVC and VP8 has been added to the codec utils and codec parsers library, and was integrated into various elements.
  • API for adjusting the TLS validation of RTSP connection has been added.
  • The RTSP and SDP library has MIKEY (RFC 3830) support now, and there is API to distinguish between the different RTSP profiles.
  • API to access RTP time information and statistics.
  • Support for auxiliary streams was added to rtpbin.
  • Support for tiled, raw video formats has been added.
  • GstVideoDecoder and GstAudioDecoder have API to help aggregating tag events and merge custom tags into them consistently.
  • GstBufferPool has support for flushing now.
  • playbin/playsink has support for application provided audio and video filters.
  • GstDiscoverer has new and simplified API to get details about missing plugins and information to pass to the plugin installer.
  • The GL library was merged from gst-plugins-gl to gst-plugins-bad, providing a generic infrastructure for handling GL inside GStreamer pipelines and a plugin with some elements using these, especially a video sink. Supported platforms currently are Android, Cocoa (OS X), DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11, Wayland and EGL platforms. This replaces eglglessink and also is supposed to replace osxvideosink.
  • New GstAggregator base class in gst-plugins-bad. This is supposed to replace GstCollectPads in the future and fix long-known shortcomings in its API. Together with the base class some elements are provided already, like a videomixer (compositor).
  • Major changes:
  • New plugins and elements:
  • v4l2videodec element for accessing hardware codecs on platforms that make them accessible via V4L2, e.g. Samsung Exynos. This comes together with major refactoring of the existing V4L2 elements and the corresponding infrastructure. The v4l2videodec element replaces the mfcdec element.
  • New downloadbuffer element that replaces the download buffering feature of queue2. Compared to queue2's code it is much simpler and only for this single use case. A noteworthy new feature is that it's downloading gaps in the already downloaded stream parts when nothing else is to be downloaded. This is now used by playbin when download buffering is enabled.
  • rtpstreampay and rtpstreamdepay elements for transmitting RTP packets over a stream API (e.g. TCP) according to RFC 4571.
  • rtprtx elements for standard compliant implementation of retransmissions, integrated into the rtpmanager plugin.
  • audiomixer element that mixes multiple audio streams together into a single one while keeping synchronization. This is planned to become the replacement of the adder element.
  • OpenNI2 plugin for 3D cameras like the Kinect camera.
  • OpenEXR plugin for decoding high-dynamic-range EXR images.
  • curlsshsink and curlsftpsink to write files via SSH/SFTP.
  • videosignal, ivfparse and sndfile plugins ported from 0.10.
  • avfvideosrc, vtdec and other elements were ported from 0.10 and are available on OS X and iOS now.
  • Other changes:
  • gst-libav now uses libav 10.1, and gained support for H265/HEVC.
  • Support for hardware codecs and special memory types has been improved with bugfixes and feature additions in various plugins and base classes.
  • Various bugfixes and improvements to buffering in queue2 and multiqueue elements.
  • dvbsrc supports more delivery mechanisms and other features now, including DVB S2 and T2 support.
  • The MPEGTS library has support for many more descriptors.
  • Major improvements to tsdemux and tsparse, especially time and seeking related.
  • souphttpsrc now has support for keep-alive connections, compression, configurable number of retries and configuration for SSL certificate validation.
  • hlsdemux has undergone major refactoring and works more reliable now and supports more HLS features like trick modes. Also fragments are pushed downstream while they're downloaded now instead of waiting for each fragment to finish.
  • dashdemux and mssdemux are now also pushing fragments downstream while they're downloaded instead of waiting for each fragment to finish.
  • videoflip can automatically flip based on the orientation tag.
  • openjpeg supports the OpenJPEG2 API.
  • waylandsink was refactored and should be more useful now. It also includes a small library which most likely is going to be removed in the future and will result in extensions to the GstVideoOverlay interface.
  • gst-rtsp-server supports SRTP and MIKEY now.
  • gst-libav encoders are now negotiating any profile/level settings with downstream via caps.
  • Lots of fixes for coverity warnings all over the place.
  • Negotiation related performance improvements.
  • 800+ fixed bug reports, and many other bug fixes and other improvements everywhere that had no bug report.
  • Things to look out for:
  • The eglglessink element was removed and replaced by the glimagesink element.
  • The mfcdec element was removed and replaced by v4l2videodec.
  • osxvideosink is only available in OS X 10.6 or newer.
  • On Android the namespace of the automatically generated Java class for initialization of GStreamer has changed from com.gstreamer to org.freedesktop.gstreamer to prevent namespace pollution.
  • On iOS you have to update your gst_ios_init.h and gst_ios_init.m in your projects from the one included in the binaries if you used the GnuTLS GIO module before. The loading mechanism has slightly changed.

What is new in version 1.2.4:

  • GStreamer core:
  • 724373 : Queue2 truncates its temp file when pipeline is paused
  • 725517 : docs: Fix typos and remove unknown annotations
  • 725809 : ghostpad: rare crash because of missing reference count on its target pad
  • 727253 : parse: Bison generated file included in the release tarballs causes compile errors
  • 727883 : baseparse: Memory leak of queue frames
  • GStreamer Plugins Base:
  • 693263 : typefinding: MPEG-2 video ES detected as H.263
  • 683504 : playsink: deadlock when disabling subtitles and suboptimal disabling of subtitles
  • 700770 : typefinding: mp3 file mis-detected as h263 video
  • 723597 : tagdemux: Seek event in GST_FORMAT_TIME are converted to BYTES to early
  • 724633 : oggdemux: ignores last page in push mode
  • 724720 : rtspconnection: not possible to disconnect/reconnect read connection in tunneled mode
  • 725313 : rtspconnection: closed() callback is never called in tunneled mode
  • 725644 : typefinding: mp3 file is misdetected as H.263
  • 726642 : rtspconnection: minor memory leak in error handling
  • 727025 : adder: rework the logic to check if eos has to be sent.
  • GStreamer Plugins Good:
  • 725104 : qtdemux: reverse playback and video stream switching failure
  • 722185 : souphttpsrc: racy " server does not support seeking " error
  • 724619 : crash when reading the device name property of pulsesink
  • 725124 : rtspsrc: Fix deadlock when task creation is no successful
  • 725712 : rtpsession: Crash when RTCP FIR received with unknown SSRC
  • 725860 : v4l2src: Fix using v4l2src with Hauppauge HDPVR video capture device
  • 726777 : rtpjpegpay: payload size not correctly calculated
  • 728017 : [regression]eos event could not be send out from gstrtpjitterbuffer.
  • 728041 : rtph264depay: marks all output buffers as delta units when outputting avc format
  • 724638 : aacparse : Missing resilience when no audio frame is found
  • 727329 : check: souphttpsrc: unknown type name ‘SoupStatus'
  • GStreamer Plugins Bad:
  • 724013 : Don't hardcode /usr/share/sounds/sf2 path in fluiddec
  • 725137 : hlsdemux: fails to compute media playlist URL if there is a query parameter
  • 725140 : hlsdemux: fails to correctly parse CODECS and RESOLUTION
  • GStreamer libav Plugins:
  • 727779 : avdec_h264, matroskademux: crash while seeking (1.2 regression)

What is new in version 1.2.2:

  • The 1.2 release series is adding new features on top of the 1.0 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework that contains new features.

What is new in version 1.2.0:

  • New API:
  • GstContext negotiation / sharing / announcing for sharing a generic context between elements, e.g. a display handle
  • GL texture upload conversion meta for allowing different buffer types to be converted to an OpenGL texture
  • GstCapsFeatures as extension to GstCaps for allowing the negotiation of specific memory or meta requirements between elements
  • GstMemory flags for contiguous and non-mappable memory
  • The stream-start event has optional flags now, e.g. for signalling sparse streams
  • The stream-start even has an optional group-id field now to signal all streams that should be played together
  • Allocators library in gst-plugins-base, currently only with generic dmabuf memory support
  • insertbin library for easier handling of dynamically linked pipelines (in -bad for now)
  • EGL helper library (in -bad for now)
  • MPEG-TS data structure library (in -bad for now)
  • New GstVideoRegionOfInterestMeta to describe a region of interest on video frames.
  • GstVideoDecoder/Encoder has new ::flush() vfunc to replace the ill-defined ::reset() vfunc.
  • The URI query allows to query the redirected URI now.
  • Major changes:
  • New tool: gst-play-1.0 in gst-plugins-base for basic playback testing on the command line.
  • New plugins:
  • mssdemux for Microsoft Smooth Streaming
  • dashdemux for DASH adaptive streaming protocol
  • bluez for interaction with Bluetooth devices
  • openjpeg for JPEG2000 decoding and encoding
  • daala for experimental Daala decoding and encoding
  • vpx plugin has experimental VP9 decoding and encoding support
  • webp plugin for WebP decoding (encoding to be added later)
  • Various others: yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, accuraterip and audiofxbad
  • Moved plugins:
  • dtmf, vp8rtp, scaletempo and rtpmux plugins are in gst-plugins-good now
  • Video:
  • Fix handling of interlaced video in converters such as videoscale and videoconvert (e.g. scale both fields independently)
  • videoconvert will try harder to minimise quality losses when conversion is necessary
  • The experimental GstSurfaceConverter, GstSurfaceMeta and GstVideoContext APIs from the (confusingly-named) libgstbasevideo-1.0 library in gst-plugins-bad have now been removed and been replaced by new APIs in GStreamer Core and gst-plugins-base (see above). Since that was all that was left in this library, the entire experimental libgstbasevideo-1.0 library has been removed from gst-plugins-bad
  • Chroma subsampling and chroma siting conversion is better handled in videoconvert and the support for interlaced video was improved.
  • New pinwheel and spoke patterns in videotestsrc
  • videomixer can now accept different video formats on its sinkpads and converts to a common format during mixing
  • Audio:
  • audioconvert will try harder to minimise quality losses when conversion is necessary
  • adder now allows muting/unmuting of its input streams, and also per-input stream volume
  • pulseaudio elements can switch between devices during playback now
  • aacparse can convert between ADTS←->RAW
  • Platform specific changes:
  • Caps, events, etc. are now printed in the GStreamer debug logs with their content instead of just the pointer address even on non-glibc platforms (e.g. Windows, OSX, Android).
  • Network elements (UDP/TCP) now work better with platforms, where IPv6 sockets can't handle IPv4 (e.g. Windows)
  • Linux/BSD: v4l2 had many improvements and cleanups
  • Other changes:
  • gst-libav now uses libav 9
  • Static linking of plugins is supported now (also in 1.0.7)
  • rtspsrc: add support for NetClientClock: when the server suggests a GstNetTimeProvider in the SDP, set up a GstNetClientClock that slaves to the remote clock and suggest this clock in provide_clock. Simplifies synchronized playback of a resource from an RTSP server. gst-rtsp-server now supports adding this to the SDP and can provide a network clock
  • RTP retransmission / NACK support and big RTP jitterbuffer improvements
  • SRTP and DTLS support
  • Changes to many elements and core to use the correct sticky event order and also not lose any important sticky events during flushing
  • >1000 fixed bug reports, and many other bug fixes and other improvements everywhere that had no bug report
  • Things to look out for:
  • Single header includes for all libraries, e.g. #include - this was needed for some bindings.
  • Stricter (correct) caps subset checking in some cases where this was not correct before. Caps will now always fail to be a compatible subset of another set of caps if the subset caps are missing some fields that the superset caps have. This might lead to not-negotiated errors if caps are incomplete now. However, it also prevents possible data corruption caused by piping data formatted in an incompatible/unexpected way into some elements. Check your h264 caps for stream-format and alignment fields and AAC caps for the stream-format field. This change will also be included in the next stable 1.0.8 release.
  • Stricter checking for missing events and correct sticky event order (stream-start, caps, segment) in some places; this is not enabled in stable releases by default, but you may get warnings when using git builds, development releases or when compiling with -UG_DISABLE_ASSERT in CFLAGS
  • x264enc now outputs data in byte-stream by default if downstream has ANY caps (e.g. appsink without caps set, filesink, udpsink, tcpserversink etc.)
  • The MPEG TS demuxer posts messages contain the PMT, PAT, etc. in a different format now. This new format uses the data structures from the new MPEGTS library
  • The GstContext API has changed between 1.1.4 and 1.1.90

What is new in version 1.1.4:

  • New API:
  • GstContext negotiation / sharing / announcing for sharing a generic context between elements, e.g. a display handle
  • GL texture upload conversion meta for allowing different buffer types to be converted to an OpenGL texture
  • GstCapsFeatures as extension to GstCaps for allowing the negotiation of specific memory or meta requirements between elements
  • GstMemory flags for contiguous and non-mappable memory
  • The stream-start event has optional flags now, e.g. for signalling sparse streams
  • The stream-start even has an optional group-id field now to signal all streams that should be played together
  • Allocators library in gst-plugins-base, currently only with generic dmabuf memory support
  • insertbin library for easier handling of dynamically linked pipelines (in -bad for now)
  • EGL helper library (in -bad for now)
  • MPEG-TS data structure library (in -bad for now)
  • New GstVideoRegionOfInterestMeta to describe a region of interest on video frames.
  • GstVideoDecoder/Encoder has new ::flush() vfunc to replace the ill-defined ::reset() vfunc.
  • The URI query allows to query the redirected URI now.
  • Major changes:
  • New tool: gst-play-1.0 in gst-plugins-base for basic playback testing on the command line.
  • New plugins:
  • mssdemux for Microsoft Smooth Streaming
  • dashdemux for DASH adaptive streaming protocol
  • bluez for interaction with Bluetooth devices
  • openjpeg for JPEG2000 decoding and encoding
  • daala for experimental Daala decoding and encoding
  • vpx plugin has experimental V9 decoding and encoding support
  • webp plugin for WebP decoding (encoding to be added later)
  • Various others: yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, accuraterip and audiofxbad
  • Moved plugins:
  • dtmf, vp8rtp, scaletempo and rtpmux plugins are in gst-plugins-good now
  • Video:
  • Fix handling of interlaced video in converters such as videoscale and videoconvert (e.g. scale both fields independently)
  • videoconvert will try harder to minimise quality losses when conversion is necessary
  • The experimental GstSurfaceConverter, GstSurfaceMeta and GstVideoContext APIs from the (confusingly-named) libgstbasevideo-1.0 library in gst-plugins-bad have now been removed and been replaced by new APIs in GStreamer Core and gst-plugins-base (see above). Since that was all that was left in this library, the entire experimental libgstbasevideo-1.0 library has been removed from gst-plugins-bad.
  • Chroma subsampling and siting conversion is better handled in videoconvert
  • New pinwheel and spoke patterns in videotestsrc
  • Audio:
  • adder now allows muting/unmuting of its input streams, and also per-input stream volume
  • pulseaudio elements can switch between devices during playback now
  • aacparse can convert between ADTS←->RAW
  • Platform specific changes:
  • Caps, events, etc. are now printed in the GStreamer debug logs with their content instead of just the pointer address even on non-glibc platforms (e.g. Windows, OSX, Android).
  • Network elements (UDP/TCP) now work better with platforms, where IPv6 sockets can't handle IPv4 (e.g. Windows)
  • Windows: d3dvideosink provides a bufferpool to upstream elements
  • Linux/BSD: v4l2 had many improvements and cleanups
  • Other changes:
  • gst-libav now uses libav 9
  • Static linking of plugins is supported now (also in 1.0.7)
  • rtspsrc: add support for NetClientClock: when the server suggests a GstNetTimeProvider in the SDP, set up a GstNetClientClock that slaves to the remote clock and suggest this clock in provide_clock. Simplifies synchronized playback of a resource from an RTSP server. gst-rtsp-server now supports adding this to the SDP and can provide a network clock
  • RTP retransmission / NACK support and big RTP jitterbuffer improvements
  • SRTP and DTLS support
  • Changes to many elements and core to use the correct sticky event order and also not lose any important sticky events during flushing
  • >1000 fixed bug reports, and many other bug fixes and other improvements everywhere that had no bug report
  • Things to look out for:
  • Single header includes for all libraries, e.g. #include - this was needed for some bindings.
  • Stricter (correct) caps subset checking in some cases where this was not correct before. Caps will now always fail to be a compatible subset of another set of caps if the subset caps are missing some fields that the superset caps have. This might lead to not-negotiated errors if caps are incomplete now. However, it also prevents possible data corruption caused by piping data formatted in an incompatible/unexpected way into some elements. Check your h264 caps for stream-format and alignment fields and AAC caps for the stream-format field. This change will also be included in the next stable 1.0.8 release.
  • Stricter checking for missing events and correct sticky event order (stream-start, caps, segment) in some places; this is not enabled in stable releases by default, but you may get warnings when using git builds, development releases or when compiling with -UG_DISABLE_ASSERT in CFLAGS
  • x264enc now outputs data in byte-stream by default if downstream has ANY caps (e.g. appsink without caps set, filesink, udpsink, tcpserversink etc.)

Similar Software

JackMixDesk
JackMixDesk

20 Feb 15

AB3AP K3 EQ
AB3AP K3 EQ

20 Feb 15

Arson
Arson

3 Jun 15

yauap
yauap

3 Jun 15

Other Software of Developer Wim Taymans

Comments to GStreamer

Comments not found
Add Comment
Turn on images!