Commit f1289987 authored by Sebastian Dröge's avatar Sebastian Dröge

Release 1.5.2

parent 65955081
=== release 1.5.2 ===
2015-06-24 Sebastian Dröge <>
releasing 1.5.2
2015-06-24 22:56:12 +0200 Sebastian Dröge <>
* po/af.po:
* po/az.po:
* po/bg.po:
* po/ca.po:
* po/cs.po:
* po/da.po:
* po/de.po:
* po/el.po:
* po/en_GB.po:
* po/eo.po:
* po/es.po:
* po/eu.po:
* po/fi.po:
* po/fr.po:
* po/gl.po:
* po/hr.po:
* po/hu.po:
* po/id.po:
* po/it.po:
* po/ja.po:
* po/lt.po:
* po/lv.po:
* po/mt.po:
* po/nb.po:
* po/nl.po:
* po/or.po:
* po/pl.po:
* po/pt_BR.po:
* po/ro.po:
* po/ru.po:
* po/sk.po:
* po/sl.po:
* po/sq.po:
* po/sr.po:
* po/sv.po:
* po/tr.po:
* po/uk.po:
* po/vi.po:
* po/zh_CN.po:
* po/zh_HK.po:
* po/zh_TW.po:
Update .po files
2015-06-24 11:15:00 +0200 Sebastian Dröge <>
* po/nl.po:
po: Update translations
2015-06-23 18:42:59 -0400 Nicolas Dufresne <>
* tests/check/elements/qtmux.c:
qtmux: Correctly test each segments
In presence of gaps, qtdemux will emit multiple segments. The
second segment start should match the CTTS.
2015-06-23 17:54:31 -0400 Nicolas Dufresne <>
* gst/isomp4/gstqtmux.c:
* gst/isomp4/gstqtmux.h:
qtmux: Correctly calculate the elst media start
The media start has nothing to do with the shift we have applied
but with the value of the first PTS. This is defined as:
Dt(0) = 0
Ct(0) = Dt(0) + CTTS(0)
So the media start is always the first CTTS.
2015-06-23 11:49:32 -0300 Thiago Santos <>
* gst/isomp4/qtdemux.c:
qtdemux: accumulate previous edts entries into segment.base
Allows playing edts editted files with proper synchronization of
streams. This patch fixes the regression introduced by
bf95f93c0189aa04f18e264b86b6527e431c5d53 that was added to fix
segment seeks handling.
Having the accumulated_base separated from the main segment.base
allows handling both segment seeks and edts editted files.
2015-06-23 00:56:16 -0300 Thiago Santos <>
* gst/isomp4/qtdemux.c:
qtdemux: improve some debug messages
Those messages are about the stream, use the pad as the
debug object to make it clear from the logs
2015-06-22 22:22:09 -0300 Thiago Santos <>
* gst/isomp4/gstqtmux.c:
qtmux: store last_dts of the first buffer
Buffers need not to start at running-time 0 so the last_dts needs
to be the value of the first buffer's dts as it is used to compute
the duration of the buffers. If it was left at 0 the first buffer
would have a larger duration when it shouldn't
2015-06-23 17:11:57 +0900 Vineeth TM <>
* gst/audioparsers/gstflacparse.c:
flacparse: fix possible memory leak
when buffer is stored to seektable, and stop gets called due to
corrupt flac file, then the seektable is not being released
2015-06-23 16:28:40 +1000 Jan Schmidt <>
* gst/multifile/gstsplitmuxsink.c:
* gst/multifile/gstsplitmuxsink.h:
Revert "splitmuxsink: Mask async-start/done while switching files."
This reverts commit d61e5393f110ed482815d77807245d78b52eff46.
Causes failures muxing larger GOP sizes for some reason. Reverting
while I figure it out
2015-06-18 23:22:06 +1000 Jan Schmidt <>
* gst/multifile/gstsplitmuxpartreader.c:
* gst/multifile/gstsplitmuxsrc.c:
splitmuxsrc: Fix startup and shutdown races.
Fix 2 startup races when things happen too quickly, and 1
at shutdown by holding a ref to the pads in use until the
loop functions exit.
Handle errors activating file parts and publish them on
the bus.
2015-06-18 09:26:13 +1000 Jan Schmidt <>
* gst/multifile/gstsplitmuxsink.c:
* gst/multifile/gstsplitmuxsink.h:
splitmuxsink: Mask async-start/done while switching files.
Sometimes, extra async-start/done from the internal sink
while the element is still starting up can cause splitmuxsink
to stall in PAUSED state when it has been set to PLAYING
by the app. Drop the child's async-start/done messages while
switching, so they don't cause state changes at the
splitmuxsink level.
2015-06-15 16:12:10 +1000 Jan Schmidt <>
* gst/matroska/matroska-demux.c:
matroska-demux: Use gst_video_multiview_guess_half_aspect()
Use the gst_video_multiview_guess_half_aspect() utility function
to set the half-aspect flag (or not) on stereoscopic frame-packed
2015-06-15 16:10:37 +1000 Jan Schmidt <>
* gst/isomp4/qtdemux.c:
qtdemux: Move multiview caps calculations, add half-aspect heuristics
Move the multiview caps calculations to the configure_stream()
function, so the rest of the video info is available, and
use the gst_video_multiview_guess_half_aspect() function to
determine if the half-aspect flag should be set on frame-packed
2015-06-18 16:06:02 -0400 Nicolas Dufresne <>
* gst/isomp4/qtdemux.c:
qtdemux: Add cslg support
The cslg atom provide information about the DTS shift. This is
needed in recent version of ctts atom where the offset can be
negative. When cslg is missing, we parse the CTTS table as proposed
in the spec to calculate these values.
In this implementation, we only need to know the shift. As GStreamer
cannot transport negative timestamps, we shift the timestamps forward
using that value and adapt the segment to compensate. This patch also
removes bogus offset of ctts_soffset, this offset shall be included
in the edit list.
2015-06-19 18:37:59 -0400 Nicolas Dufresne <>
* tests/check/elements/qtmux.c:
qtmux: Test gaps at start of stream
2015-06-19 18:40:43 -0400 Nicolas Dufresne <>
* gst/isomp4/gstqtmux.c:
qtmux: Use PTS to figure-out presence of gaps
We need to look at the presentation timestamp in order to conclude if
there is a gap at the start of a stream.
2015-06-19 16:45:02 -0400 Nicolas Dufresne <>
* gst/isomp4/gstqtmux.c:
qtmux: Set edit list to compensate DTS shift
We shift DTS forward to avoid negative timestamps which cannot be
represented with version 0 of the CTTS table. To stick with that
version (backward compatibility), the spec recommend using an
edit list entry to move back the presentation time to where it
should be.
2015-06-22 14:35:52 -0400 Nicolas Dufresne <>
* gst/flv/gstflvmux.c:
flvmux: Insert AVC end of sequence
This FLV specific mark is needed to prevent Flow Player (most likely
all Flash base player) from going into buffering state when near EOS.
2015-06-22 13:05:29 +0900 Vineeth TM <>
* gst/matroska/matroska-demux.c:
* gst/matroska/matroska-parse.c:
matroska: remove useless check
No need to check for context availability while freeing. We are inside
inside a code block with a condition that dereferences context.
if (context->type == 0 ...
2015-06-22 19:35:57 +0900 Vineeth T M <>
* gst/matroska/lzo.c:
lzo: fix memory leak
the opened file is not being closed during test, which will result
in memory leak.
2015-06-22 19:30:58 +0900 Vineeth T M <>
* ext/mikmod/mikmod_reader.c:
mikmod_reader: Possible null pointer dereference:
gst_reader variable is being used before actually checking if it
allocated properly
2015-06-22 19:45:14 +0900 Sangkyu Park <>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/rtpmanager/rtpjitterbuffer.c:
rtpjitterbuffer: Minor clean-up
1. Fix the code which is wrong coding style.
2. Fix a typing error of comment.
2015-06-22 11:28:13 +0200 Jose Antonio Santos Cadenas <>
* gst/rtpmanager/rtpsource.c:
rtpsource: Do not try to push NULL buffers
If update_receiver_stats() fails, we can't really do anything with this buffer
anymore and have to drop it. This happens if there's a big seqnum
discontinuity for example.
2015-06-22 13:10:02 +0900 Vineeth TM <>
* gst/flv/gstflvdemux.c:
flvdemux: trivial cleanup
trivial patch to add proper ( while checking for if(G_UNLIKELY())
2015-06-22 13:16:08 +0900 Vineeth TM <>
* gst/audioparsers/gstdcaparse.c:
dcaparse: initialize size variable
size can be used in cleanup without being initialized. Hence
setting it to 0 when declaring
2015-06-22 13:13:29 +0900 Vineeth TM <>
* gst/audioparsers/gstmpegaudioparse.c:
mpegaudioparse: initialze bpf variable
bpf variable might be used in cleanup without being intialized.
2015-06-19 14:50:59 +0200 Miguel París Díaz <>
* gst/rtpmanager/gstrtprtxqueue.c:
rtprtxqueue: reverse pending list before pushing buffers
With this we send the RTX buffers in the same order
that they were requested.
2015-06-21 19:22:10 -0400 Nicolas Dufresne <>
* gst/flv/gstflvmux.c:
flvmux: Fix DTS validity check
This check was up-side-down, causing a bad timestamp at start
and then all timestamp being delayed.
2015-06-17 15:19:47 -0400 Nicolas Dufresne <>
* gst/isomp4/fourcc.h:
* gst/isomp4/qtdemux_dump.c:
* gst/isomp4/qtdemux_dump.h:
* gst/isomp4/qtdemux_types.c:
cslg: Add Composition Shift Least Greatest Atom
This simply add fourcc and dump function for the cslg Atom.
2015-06-17 15:18:38 -0400 Nicolas Dufresne <>
* gst/isomp4/qtdemux_dump.c:
ctts_dump: Fix signess issues
It didn't bug, but use correct signess in traces. The number of
entries is unsigned while the offset can be signed according to
recent spec.
2015-06-16 17:48:08 -0400 Nicolas Dufresne <>
* common:
Automatic update of common submodule
From 6015d26 to f74b2df
2015-06-16 11:43:39 +0200 Sebastian Dröge <>
* gst/rtpmanager/gstrtpjitterbuffer.c:
rtpjitterbuffer: gst_rtp_buffer_ext_timestamp() modifies its first argument, keep a copy around
2015-06-16 10:30:34 +0200 Sebastian Dröge <>
* gst/rtpmanager/gstrtpjitterbuffer.c:
rtpjitterbuffer: Compare ext RTP times, not plain RTP time and ext RTP time when calculating elapsed time
Otherwise all RTP times after a wraparound would be considered as going
backwards, they will always be smaller than the ext RTP time.
2015-06-15 19:25:12 +0200 Sebastian Dröge <>
* gst/rtpmanager/gstrtpbin.c:
rtpbin: The default rtp-profile should be AVP, not AVPF
2015-06-15 14:32:21 +0900 Sangkyu Park <>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/rtpmanager/rtpjitterbuffer.c:
rtpjitterbuffer: Minor cleanup
1. Add Null check in 'free_item' function.
2. Fix a typing error of comment.
2015-06-12 17:44:51 -0400 Nicolas Dufresne <>
* gst/flv/gstflvmux.c:
flmux: Make sure best_time is initialized
2015-06-12 23:29:19 +0200 Sebastian Dröge <>
* gst/rtpmanager/gstrtpbin.c:
* gst/rtpmanager/gstrtpbin.h:
* gst/rtpmanager/gstrtpsession.c:
* gst/rtpmanager/gstrtpsession.h:
rtpbin/session: Add new ntp-time-source property and deprecate use-pipeline-clock property
The new property allows to select the time source that should be used for the
NTP time in RTCP packets. By default it will continue to calculate the NTP
timestamp (1900 epoch) based on the realtime clock. Alternatively it can use
the UNIX timestamp (1970 epoch), the pipeline's running time or the pipeline's
clock time. The latter is especially useful for synchronizing multiple
receivers if all of them share the same clock.
If use-pipeline-clock is set to TRUE, it will override the ntp-time-source
setting and continue to use the running time plus 70 years. This is only kept
for backwards compatibility.
2015-04-07 16:03:42 -0300 Thiago Santos <>
* tests/check/elements/qtmux.c:
tests: qtmux: test for muxing with DTS outside the segment
2015-06-11 17:26:49 -0400 Nicolas Dufresne <>
* gst/isomp4/qtdemux.c:
qtdemux: Adjust segment according to ctts offset
In presence of a CTTS, the segment start/stop must be offset so
the segment start/stop include the PTS. This is needed since the
PTS cannot be negative in this format. This fixes issues where the
running time of the first buffer isn't at the start.
2015-04-03 20:34:42 -0400 Nicolas Dufresne <>
* gst/isomp4/gstqtmux.c:
* gst/isomp4/gstqtmux.h:
qtmux: Handle DTS with negative running time
As QT works with duration, simply bring back first DTS to 0 and shift
forward the PTS of the same amount.
2015-06-10 18:15:52 -0400 Nicolas Dufresne <>
* gst/flv/gstflvmux.c:
* gst/flv/gstflvmux.h:
flvmux: Add negative runtime DTS support
This is done by using new feature of the CollectPad clip function
which sets the DTS as a gint64 in the collected data. It also simplify
the code a bit.
2015-06-12 23:06:24 +0200 Sebastian Dröge <>
* gst/rtpmanager/gstrtpbin.c:
rtpbin: Rename some variables and debug output to make more sense
Local and remote were mixed up in a few places, and the time we store here is
not UNIX time (1970 epoch), but NTP time (1900 epoch) in nanoseconds.
2015-06-12 19:21:10 +0300 Ilya Konstantinov <>
* sys/osxaudio/gstosxcoreaudioremoteio.c:
osxaudio: fix latency property query on RemoteIO
AudioUnitGetProperty would fail with kParamErr (-50) every time,
simply because size wasn't initialized.
Now it returns zero latency, but at least it doesn't fail.
2015-04-07 14:06:16 +0530 Arun Raghavan <>
* ext/pulse/pulsesrc.c:
pulsesrc: Fix mapping of latency parameters to buffer attributes
2015-06-12 01:56:37 +1000 Jan Schmidt <>
* gst/matroska/matroska-demux.c:
matroska-demux: Actually set detected 3D info into output caps.
Use the information read from the StereoMode info
to configure multiview-mode and multiview-flags in the
video caps.
2015-06-11 13:36:54 +1000 Jan Schmidt <>
* gst/multifile/gstsplitmuxpartreader.c:
* gst/multifile/gstsplitmuxsink.c:
* gst/multifile/gstsplitmuxsink.h:
splitmuxsink: Take released-but-not-yet-output bytes into account
When deciding whether it's time to switch to a new file, take into
account data that's been released for pushing, but hasn't yet
been pushed - because downstream is slow or the threads haven't been
Fixes a race in the unit test and probably in practice - sometimes
failing to switch when it should for an extra GOP or two.
Also fix a problem in splitmuxsrc where playback sometimes
stalls at startup if types are found too quickly.
2015-06-11 01:04:51 -0300 Thiago Santos <>
* gst/isomp4/atoms.c:
atoms: remove custom gst_buffer_new function in favor of core version
Remove a custom specialized version of gst_buffer_new_wrapped by
using gst_buffer_new_wrapped_full inside a macro to simplify
parameters and give it a more meaningful name.
It is only used to create temporary buffers to have its data copied.
2015-06-11 00:14:41 -0300 Thiago Santos <>
* gst/isomp4/atoms.c:
atoms: simplify free form data atoms creation
Avoid creating an intermediary buffer or memory area just
to copy into an atom's data area.
2015-06-10 22:27:27 -0300 Thiago Santos <>
* gst/isomp4/atoms.c:
* gst/isomp4/atoms.h:
* gst/isomp4/fourcc.h:
* gst/isomp4/gstqtmux.c:
* gst/isomp4/gstqtmux.h:
* gst/isomp4/gstqtmuxmap.c:
qtmux: add AC-3 muxing support
Adds AC-3 muxing support. It is defined for mp4 and 3gp formats.
One extra feature that was added was the ability to add extension
atoms after set_caps as the AC-3 extension atom needs some data
that has to be extracted from the stream itself and is not
present on caps.
2015-06-10 22:36:59 -0300 Thiago Santos <>
* gst/isomp4/atoms.c:
* gst/isomp4/atoms.h:
qtmux: remove unused type MP4S
2015-06-10 22:29:01 -0300 Thiago Santos <>
* gst/isomp4/gstqtmux.c:
qtmux: remove duplicate attribute value set
It is also set a few lines below
2015-06-11 00:22:54 +1000 Jan Schmidt <>
* gst/matroska/matroska-demux.c:
* gst/matroska/matroska-ids.c:
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska-mux.c:
matroska: Implement basic stereoscopic video support
Implement support for the packed video formats WebM
uses, not all the values that Matroska might use.
In practice, it's really hard to find any samples in the
wild of any.
Supported in both the muxer and demuxer.
2015-06-10 01:26:15 +1000 Jan Schmidt <>
* gst/isomp4/fourcc.h:
* gst/isomp4/qtdemux.c:
* gst/isomp4/qtdemux_dump.c:
* gst/isomp4/qtdemux_dump.h:
* gst/isomp4/qtdemux_types.c:
qtdemux: Add basic support for MPEG-A stereoscopic video
The MPEG-A format provides an extension to the ISO base media
file format to store stereoscopic content encoded with different
codecs like H.264 and MPEG-4:2. The stereo video media information(svmi)
atom declares the presence and storage method for the video.
Stereo video information for MPEG-A can also be supplied through
the 'stvi' atom (ref: ISO/IEC_14496-12, ISO/IEC_23000-11), which
is not implemented in this patch.
Also missing is support for stereo video encoded as separate video tracks
for now.
Based on a patch by Sreerenj Balachandran <>
2015-06-02 16:15:35 -0400 Xavier Claessens <>
* ext/soup/gstsouphttpsrc.c:
* ext/soup/gstsouphttpsrc.h:
souphttpsrc: Add tls-database property
2015-06-10 14:33:50 +0200 Sebastian Dröge <>
* gst/rtp/gstasteriskh263.c:
* gst/rtp/gstrtpac3pay.c:
* gst/rtp/gstrtpamrpay.c:
* gst/rtp/gstrtpceltdepay.c:
* gst/rtp/gstrtpceltpay.c:
* gst/rtp/gstrtpdvpay.c:
* gst/rtp/gstrtpg723pay.c:
* gst/rtp/gstrtpg729pay.c:
* gst/rtp/gstrtpgsmpay.c:
* gst/rtp/gstrtpgstpay.c:
* gst/rtp/gstrtph263pay.c:
* gst/rtp/gstrtph263ppay.c:
* gst/rtp/gstrtph264depay.c:
* gst/rtp/gstrtpj2kpay.c:
* gst/rtp/gstrtpjpegpay.c:
* gst/rtp/gstrtpmp2tpay.c:
* gst/rtp/gstrtpmp4adepay.c:
* gst/rtp/gstrtpmp4apay.c:
* gst/rtp/gstrtpmp4gdepay.c:
* gst/rtp/gstrtpmp4gpay.c:
* gst/rtp/gstrtpmp4vpay.c:
* gst/rtp/gstrtpmpapay.c:
* gst/rtp/gstrtpmparobustdepay.c:
* gst/rtp/gstrtpmpvpay.c:
* gst/rtp/gstrtpqcelpdepay.c:
* gst/rtp/gstrtpqdmdepay.c:
* gst/rtp/gstrtpsbcpay.c:
* gst/rtp/gstrtpspeexpay.c:
* gst/rtp/gstrtpsv3vdepay.c:
* gst/rtp/gstrtptheorapay.c:
* gst/rtp/gstrtpvorbispay.c:
* gst/rtp/gstrtpvrawdepay.c:
* gst/rtp/gstrtpvrawpay.c:
* gst/rtpmanager/gstrtpmux.c:
* gst/rtpmanager/gstrtpsession.c:
* gst/rtpmanager/rtpsession.c:
* gst/rtpmanager/rtpsource.c:
The mix between all these in the RTP code is confusing, let's try to be
2015-06-10 14:49:50 +0300 Ilya Konstantinov <>
* gst/rtpmanager/rtpsource.c:
rtpmanager: clarify negative lost packets in stats
- Move notes on units before field documentation.
- Unify documentation style.
2015-06-10 06:38:39 -0400 Xavier Claessens <>
* ext/soup/gstsouphttpsrc.c:
souphttpsrc: fix getter of "ssl-use-system-ca-file"
2015-06-10 09:49:47 +0900 Vineeth TM <>
* gst/isomp4/qtdemux.c:
qtdemux: fix reverse playback
When performing seek, segment->start is being updated with desired_offset,
but in case of reverse playback segment->start should be 0 and
segment->stop should be updated with desired offset.
2015-01-21 18:09:03 +0100 Philipp Zabel <>
* sys/v4l2/gstv4l2allocator.c:
* sys/v4l2/gstv4l2allocator.h:
* sys/v4l2/gstv4l2bufferpool.c:
gstv4l2bufferpool: handle -EPIPE from DQBUF to signal EOS
The V4L2 decoder signals EOS by returning -EPIPE from DQBUF after the
last buffer.
2015-06-06 21:09:19 -0400 Xavier Claessens <>
* gst/rtsp/gstrtspsrc.c:
* gst/rtsp/gstrtspsrc.h:
rtspsrc: Add a GTlsInteraction property
It can be used for TLS client authentication.
2015-01-09 11:36:11 +0100 Enrico Jorns <>
* sys/v4l2/gstv4l2transform.c:
v4l2: Allow scaling in the v4l2*convert element
This is inspired of videoscale and videoconvert elements.
2015-06-09 19:02:55 +0300 Ilya Konstantinov <>
* gst/rtpmanager/rtpsource.c:
* gst/rtpmanager/rtpstats.h:
rtpmanager: document units of stats and arguments
Also, minor spelling and style corrections.
2015-06-09 14:42:27 +0200 Stefan Sauer <>
cruft: add the obsolete tmpl dir to cruft-dirs
2015-06-09 11:30:22 +0200 Edward Hervey <>
* common:
Automatic update of common submodule
From d9a3353 to 6015d26