summaryrefslogtreecommitdiff
path: root/RELEASE
blob: edaefc1974dbf42dafc81fd8998847dfb3b42fdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291

Release notes for GStreamer Good Plug-ins 0.10.29 "Soft Cheese Enthusiast"
        


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


The 0.10.x series is a stable series targeted at end users.



"Such ingratitude.  After all the times I've saved your life."


A collection of plug-ins you'd want to have right next to you on the
battlefield.  Shooting sharp and making no mistakes, these plug-ins have it
all: good looks, good code, and good licensing.  Documented and dressed up
in tests.  If you're looking for a role model to base your own plug-in on,
here it is.


If you find a plot hole or a badly lip-synced line of code in them,
let us know - it is a matter of honour for us to ensure Blondie doesn't look
like he's been walking 100 miles through the desert without water.


This module contains a set of plug-ins that we consider to have good quality
  code, correct functionality, our preferred license (LGPL for the plug-in
  code, LGPL or LGPL-compatible for the supporting library).
We believe distributors can safely ship these plug-ins.
People writing elements should base their code on these elements.


Other modules containing plug-ins are:


gst-plugins-base
contains a basic set of well-supported plug-ins
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
    
      * audioparser: new amrparse, aacparse, ac3parse, flacparse, mpegaudioparse, dcaparse elements
      * audiowsincband: Add new windowing functions: gaussian, cos and hann
      * audiowsincband: Fix range of kernel elements (lim -> lim-1)
      * audiowsinclimimt: Add new windows to high/low-pass filters: gaussian, cosine, hann
      * audiowsinclimit: Fix range of kernel elements (lim -> lim-1) in high/low-pass filters
      * avidemux: also add the frame-type for the stream index.
      * avidemux, flvdemux: mark delta-units in the index
      * avidemux: stream->current_total is accumulated byte size and not time
      * avimux: add stream-format field to h264 pad template caps
      * avimux: rework _request_new_pad to handle explict req-pad-names
      * avimux: use running time for synchronization
      * cairooverlay: Add generic Cairo overlay video element.
      * debugutils: remove bitrotten negotiation element
      * deinterlace: add support for NV12 and NV21 formats; fix greedyl method
      * dvdemux: first try if upstream handles TIME seeks before handling them here and other event handling fixes
      * flacdec: fix issues with large metadata blocks when streaming unframed flac
      * flacenc: Add support for writing METADATA_BLOCK_PICTURE blocks for GST_TAG_IMAGE and GST_TAG_PREVIEW_IMAGE
      * flacenc: Don't store image tags inside the vorbiscomments and the flac metadata
      * flvdemux: add width, height and framerate to caps when present on onMetaData
      * flvdemux: Do not build an index if upstream is not seekable
      * flvdemux: fix deadlock on setting index on flvdemux
      * flvmux: don't overwrite metadata tag with duration in streaming mode
      * flvmux: don't set duration for live stream
      * flvmux: use running time for synchronization
      * flv: specify stream-format for h264 in the pad template caps
      * icydemux: fix tag list handling issues that might have caused crashes
      * j2kpay: skip EPH packets
      * jitterbuffer: also estimate eos if very near eos
      * jitterbuffer: avoid trying to buffer more than is available
      * jitterbuffer: handle position query
      * matroskademux: better calculation of output framerate
      * matroskademux: properly resume cluster scanning
      * matroskademux: pull mode should always report seekable
      * matroskademux: set stream-format=byte-stream on h264 caps if there's no codec data
      * matroskademux: store cluster positions provided by SeekHead
      * matroskamux: add support for A-Law and µ-Law
      * matroskamux: avoid building index when streamable
      * matroskamux: use running time for stream synchronization
      * matroskamux: add stream-format field to h264 pad template caps
      * matroska: Use ARTIST Matroska tag instead of AUTHOR for GST_TAG_ARTIST
      * matroskaparse: new element
      * monoscope: stability (off-by-one) and memory leak fixes
      * pngdec: handle 16-bit-per-channel images
      * pulsesink: also uncork during EOS waiting (and after EOS is rendered)
      * pulsesink: fix deadlock if connecting to PA fails
      * pulsesink: release pa_shared_resource_mutex before pa_threaded_mainloop_wait
      * qtdemux: Adds more h264 fields to its caps
      * qtdemux: Add support for 2Vuy and r210
      * qtdemux: don't error out when there's a problem parsing non-vital headers
      * qtdemux: avoid skipping exposing a stream following a removed stream
      * qtdemux: Check for invalid (empty) classification info entity strings
      * qtdemux: extract MusicBrainz tags
      * qtdemux: mind rounding issues when converting from global time to mov time
      * qtdemux: propagate error during expose_streams
      * qtdemux: support some more mpeg-4 fourcc variants
      * qtdemux: take configured start time into account
      * isomp4: move mp4mux/3gppmux/qtmux from -bad to -good, rename qtdemux plugin to isomp4
      * rtpbin: Don't try to request the same request pad twice
      * rtpbin: fix setting the SDES property
      * rtpbin: Get and use the NTP time when receiving RTCP
      * rtpmanager: ignore a BYE if it is sent with our internal SSRC
      * rtpptdemux: Tag upstream custom events with payload type
      * rtpsession: add action signal to request early RTCP
      * rtpsession: add "rtcp-min-interval" property for minimum interval between Regular RTCP messages
      * rtpsession: Don't relay more than one PLI request per RTT
      * rtpsession: Emit "on-ssrc-validated" when validating by RTCP
      * rtpsession: Emit signal on incoming RTCP feedback packet
      * rtpsession: Emit signal when sending a compound RTCP packet
      * rtpsession: Implement sending PLI packets in response to GstForceKeyUnit
      * rtpsession: Number of active sources should be updated whenever the status of the source changes to active
      * rtpsession: Send GstForceKeyUnit event in response to received RTCP PLI
      * rtpsource: Retain RTCP Feedback packets for a specified amount of time
      * rtpssrcdemux: Tag upstream custom events with SSRC
      * rtpssrcdemux: Unknown SSRC is not fatal
      * rtpspeexpay: Do not transmit samples with GAP flag
      * rtptheoradepay: Request new keyframe on lost packets
      * rtpvrawpay: add support for interlaced video
      * rtspsrc: distribute new base_time to manager children following flush seek
      * rtspsrc: handle * control correctly
      * rtspsrc: improve recovery from failed seek
      * spectrum: miscellaneous optimisations, add multi-channel support
      * speexdec: Always process the number of frames per packet as specified in the header
      * speexdec: get and use streamheader from the caps if possible
      * speexenc: Use speex intern silence detection
      * theorapay: handle 0-sized packets (which are repeat frames)
      * udpsink: warn when packet is too large
      * v4l2: Add PJPG mapping
      * v4l2: fix interlaced set_format configuration
      * v4l2: new v4l2radio element to control analog radio devices
      * videobalance: fix handling of YUV images with 'odd' widths
      * videoflip: add support for YUY2, UVYV and YVYU
      * videoflip: fix invalid memory access for odd resolutions and Y422
      * videomixer2: Add transparent background option for alpha channel formats
      * videomixer: Add transparent background option for alpha channel formats
      * videomixer: Fix argb/rgba overlay orc code
      * wavparse: tune output max buffer size to material

Bugs fixed in this release
     
      * 564122 : Crash in monoscope_update
      * 432612 : [matroskamux] doesn't handle segments correctly
      * 593482 : Spectrum: Multi-Channel support and Stereo to Mono compat report(cross-correlation)
      * 595520 : Implement a generic cairo overlay
      * 622553 : rtpmanager: Implement RFC 4585 (AVPF / early feedback)
      * 636699 : [PLUGIN-MOVE] qtmux: move to -good
      * 639994 : videomixer2: added 'transparent' background option
      * 640118 : v4l2: add element to control radio devices
      * 640163 : rtspsrc: minor leak
      * 640249 : [taginject] Taginject does not allow to change tags after init
      * 640483 : flvdemux: Video's width, height and/or framerate src caps added when present on onMetaData
      * 640542 : matroskamux leaks memory after reset
      * 641330 : icydemux: crash while playing MP3 stream in amarok
      * 641332 : can't connect vorbisenc ! queue ! matroskamux
      * 641400 : [deinterlace] Handle image caps without asserting
      * 641827 : rtptheorapay: doesn't handle 0-size packets
      * 642205 : qtdemux: extract MusicBrainz tags
      * 642337 : [souphttpsrc] Add support for URI queries
      * 642412 : gstrtpbin with ignore-pt tries to use NULL stream- > demux during uninitialization
      * 642691 : deinterlace: Miscellaneous cleanup
      * 642879 : qtmux: add a 'variant' with the bare video/quicktime media type
      * 642961 : NV12 colorspace support for deinterlace plugin
      * 642963 : [dvdemux] time based upstream seek
      * 643087 : pulsesink: deadlock in gst_pulseringbuffer_open_device
      * 643981 : [cairooverlay] example uses gtk/gtk-x11 unnecessarily
      * 644288 : generic/states check fails
      * 644477 : [jack] doesn't build with jack > = 0.120.2
      * 644510 : pulsesink: deadlock when create/connect fails
      * 644669 : gstspeexdec causes 'Conditional jump depends on uninitialised value'
      * 644773 : Add support for Y422 colorspaces in videoflip element
      * 644849 : [speexdec] Remove warning message when it is inappropriate
      * 644875 : [matroskademux] can't read the ARTIST tag in a Matroska file
      * 645858 : [flvdemux] memory leak when demuxing infinite FLV files
      * 645961 : [pulsesink] hangs when going from paused to playing near EOS
      * 646397 : rtpjitterbuffer base_time broken by commit f84b8a69
      * 646474 : rtpspeexpay should drop empty samples
      * 646567 : [matroska] Add alaw/mulaw audio support
      * 646800 : rtspsrc: control attribute on the session and not on the media
      * 646954 : rtpgstpay: declare frag_offset to hold 32 bits
      * 646964 : rtpmanager: ignore a BYE if it is sent with our internal SSRC
      * 646965 : rtpmanager: Number of active sources should be updated whenever the status of the source changes to active
      * 646966 : rtpssrcdemux: Unknown SSRC is not fatal
      * 646967 : rtpsession: make iterate_internal_links MT-safe
      * 646999 : [regression] pulsesink: underruns while playing WMA
      * 647263 : REGRESSION: rtpsession: fix wrongly applied patch
      * 647510 : audiowsinclimit uses the wrong limits for the range of the kernel elements
      * 647511 : add other common windows to low/high-pass filters in audiowsinclimit.c
      * 647659 : mp3parse / mpegaudioparse fails to detect VBRI header in mpeg1 mono and mpeg2 files
      * 647833 : matroskademux: bad at guessing the framerate
      * 647848 : Failure to compile with GCC 4.6.x due to variable unused but set warnings being treated as errors
      * 647919 : qtmux: silently corrupts h264 streams with legacy caps
      * 648004 : [quicktime] Rename plugin library to quicktime too
      * 648160 : Remove half-complete bits of RTCP FIR support
      * 648589 : jpegdec: documentation typo " jpegddec " 
      * 649060 : flvmux: overwrites metadata tags with duration in streamable=false mode
      * 649449 : [gppmux] Failure to write location
      * 566769 : [flacdec] crash in push mode with large header packet (image)
      * 644730 : [matroskamux] Should return TRUE in the event function when the event is handled

Download

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

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
    
      * "Carsten Kroll
      * Alejandro Gonzalez
      * Alessandro Decina
      * Alexey Chernov
      * Alexey Fisher
      * Andoni Morales Alastruey
      * Arun Raghavan
      * Benjamin Otte
      * Christian Fredrik Kalager Schaller
      * Christian Schaller
      * David Hoyt
      * David Schleef
      * Edward Hervey
      * Felipe Contreras
      * Haakon Sporsheim
      * Havard Graff
      * Jan Schmidt
      * Jan Urbanski
      * Jan Urbański
      * Jon Nordby
      * Jordi Burguet-Castell
      * Josep Torra
      * Joshua M. Doe
      * Julien Moutte
      * LRN
      * Lane Brooks
      * Lasse Laukkanen
      * Leonardo Sandoval
      * Luis de Bethencourt
      * Marc-André Lureau
      * Mark Nauwelaerts
      * Michael Smith
      * Ole André Vadla Ravnås
      * Olivier Crête
      * Pascal Buhler
      * Philip Jägenstedt
      * Philippe Normand
      * René Stadler
      * Rob Clark
      * Robert Swain
      * Sebastian Dröge
      * Stefan Kost
      * Thiago Santos
      * Thiago Sousa Santos
      * Thibault Saunier
      * Tim-Philipp Müller
      * Tom Janiszewski
      * Vincent Penquerc'h
      * Wim Taymans
      * Youness Alaoui
      * Zaheer Abbas Merali