Wim Taymans [Thu, 1 Jun 2017 15:02:24 +0000 (17:02 +0200)]
Revert "update def files"
This reverts commit
2e6dba811437e31af7e6071efe03b6e3751b2289.
Wim Taymans [Thu, 1 Jun 2017 14:40:40 +0000 (16:40 +0200)]
update def files
Sebastian Dröge [Wed, 31 May 2017 09:30:40 +0000 (12:30 +0300)]
Revert "decodebin2: Set a time limit on "upstream" multiqueues"
This reverts commit
07dc9ba0712c26be86f031fb6f77bee177cbb828. It causes
timeouts in validate because queues run full before prerolling.
Edward Hervey [Tue, 17 Jan 2017 12:52:20 +0000 (13:52 +0100)]
decodebin2: Set a time limit on "upstream" multiqueues
Those multiqueue are the ones dealing with adaptive demuxers. They should
have a time limit set so that they don't end up buffering too much data.
They would previously be set with no limits at all, which would cause them
to grow indefinitely until downstream blocks.
Mathieu Duponchelle [Tue, 30 May 2017 22:15:46 +0000 (00:15 +0200)]
gst-discoverer: use state changes instead of ASYNC_DONE.
And monitor no_more_pads.
With live sources such as rtsp, uridecodebin only creates its
child decodebins between PAUSED and PLAYING.
This means that the ASYNC_DONE it posts when getting NO_PREROLL
in its change_state method gets immediately propagated by the
GstBin parent class, as opposed to a situation where a
decodebin has been added to it already, and has posted ASYNC_START.
The proposed solution, instead of simply waiting for ASYNC_DONE,
and finishing prematurely in that case, waits for three conditions
to be true:
* the uridecodebin needs to have emitted no_more_pads
* its current state must be PAUSED if not live, PLAYING otherwise
* There must be no "pending subtitle pads", ie pads where we haven't
received tags yet.
All these conditions are checked in the message handler, as we
post custom messages on it when we get subtitle tags or no_more_pads.
https://bugzilla.gnome.org/show_bug.cgi?id=783257
Vincent Penquerc'h [Mon, 29 May 2017 12:44:01 +0000 (13:44 +0100)]
oggdemux: fix artifacts at chain boundaries
https://bugzilla.gnome.org/show_bug.cgi?id=782132
Edward Hervey [Fri, 26 May 2017 16:02:12 +0000 (18:02 +0200)]
pango: Handle failure to multiply fractions
And set PAR back to the default value of 1:1
CID #1409851
Vincent Penquerc'h [Fri, 5 May 2017 11:48:41 +0000 (12:48 +0100)]
oggdemux: fix clipping more samples than exist in the first packet
This can happen in Opus (and maybe other codecs ?), and would cause
failure to play.
https://bugzilla.gnome.org/show_bug.cgi?id=782157
Olivier Crête [Tue, 23 May 2017 06:43:26 +0000 (08:43 +0200)]
videotestsrc: Protect videoinfo with object lock
The videoinfo is set in the streaming thread, but can be read by any
thread from the various queries, so protect it with the object lock.
Tim-Philipp Müller [Sun, 21 May 2017 16:42:55 +0000 (17:42 +0100)]
pbutils: fix stand-alone version header include
Include gst headers for GST_EXPORT.
Tim-Philipp Müller [Sun, 21 May 2017 13:37:05 +0000 (14:37 +0100)]
meson: don't need config.h.meson any longer
Mark Nauwelaerts [Sun, 21 May 2017 10:34:08 +0000 (12:34 +0200)]
textoverlay: optionally scale text to ensure proper display text aspect ratio
... by prescaling with an inverse aspect scaling as applied by video scaling
Tim-Philipp Müller [Sun, 21 May 2017 09:49:20 +0000 (10:49 +0100)]
meson: only check for c++ compiler once
Tim-Philipp Müller [Sun, 21 May 2017 08:37:14 +0000 (09:37 +0100)]
meson: make C++ compiler optional
It's only used to check our headers are C++ clean and
for the Qt example.
Edward Hervey [Tue, 10 Jan 2017 14:59:55 +0000 (15:59 +0100)]
videodecoder: Don't queue frames in TRICKMODE_KEY_UNITS
When the input is TRICKMODE_KEY_UNITS, we expect to only receive keyframes
which we want to decode/push immediately. Therefore don't queue them.
If upstream didn't send just keyframes (which is the ideal situation), two
different things can happen:
1) Either the subclass checks the segment flags and properly configures
the decoder implementation to only decode/output keyframes,
2) Or the subclass really decodes and outputs everything, in which case
the reverse frames will end up arriving "late" downstream (and will
be dropped). If upstream did properly send GOP in reverse order, we
still end up just showing keyframes (but at the overhead of decoding
everything).
https://bugzilla.gnome.org/show_bug.cgi?id=777094
Guillaume Desmottes [Tue, 4 Apr 2017 11:19:02 +0000 (13:19 +0200)]
videorate: stop copying buffers in drop-only mode
gst_video_rate_flush_prev() ensures that the pushed buffer is writable
by calling gst_buffer_make_writable() on videorate->prevbuf.
In drop-only mode we always push buffers directly when they are received
from GstBaseTransform (gst_video_rate_transform_ip()) and do not keep them
around. GstBaseTransform already ensures that those buffers are
writable so there is no need to do it twice.
This change saves us from copying buffers in drop-only mode as we no longer
calls gst_buffer_make_writable() with a buffer having a refcount of 2
(one ref owned by GstBaseTransform and one in videorate->prevbuf).
https://bugzilla.gnome.org/show_bug.cgi?id=780767
Guillaume Desmottes [Tue, 4 Apr 2017 11:16:42 +0000 (13:16 +0200)]
videorate: factor out gst_video_rate_push_buffer()
No semantic change, just factor out this function from
gst_video_rate_flush_prev().
I'm about to use it to change the 'drop-only' code path.
https://bugzilla.gnome.org/show_bug.cgi?id=780767
Tim-Philipp Müller [Sat, 20 May 2017 13:46:51 +0000 (14:46 +0100)]
meson: add options to set package name and origin
https://bugzilla.gnome.org/show_bug.cgi?id=782172
Jan Schmidt [Fri, 19 May 2017 16:38:45 +0000 (18:38 +0200)]
Fix unit test for videodecoder now outputting mono multiview by default
Jan Schmidt [Fri, 24 Mar 2017 00:43:06 +0000 (11:43 +1100)]
videodecoder: Output mono multiview caps if none specified
Always put multiview-caps onto the output caps, assuming
mono if we've got no other information. It's still easy for
downstream elements to override using a capssetter or event
probe if desired.
https://bugzilla.gnome.org/show_bug.cgi?id=776172
Sebastian Dröge [Thu, 18 May 2017 10:24:19 +0000 (13:24 +0300)]
discoverer: Clean up more fields to decide if parent/child streams are equivalent
https://bugzilla.gnome.org/show_bug.cgi?id=782780
Sebastian Dröge [Thu, 18 May 2017 10:13:58 +0000 (13:13 +0300)]
Revert "discoverer: Consider parent/child streams the same if they have caps with the same name"
This reverts commit
478b7a8eb49d285c3ff0b73e1fe2929b9418be91.
video/mpeg,systemstream=true / false distinguishes between container and
elementary stream.
Sebastian Dröge [Thu, 18 May 2017 08:21:55 +0000 (11:21 +0300)]
discoverer: Consider parent/child streams the same if they have caps with the same name
Child streams could have more accurate width/height or various other
information added. If they have the same name, they are likely to be the
same streams.
https://bugzilla.gnome.org/show_bug.cgi?id=782697
Sebastian Dröge [Thu, 18 May 2017 08:02:51 +0000 (11:02 +0300)]
urisourcebin: Unref query with gst_query_unref()
Not gst_object_unref().
vijay [Wed, 17 May 2017 09:14:59 +0000 (14:44 +0530)]
alsa: Add mapping for PCM F32/F64 formats
Fix enables float pcm formats for both the alsasrc and alsasink
https://bugzilla.gnome.org/show_bug.cgi?id=782695
Sebastian Dröge [Mon, 15 May 2017 16:47:22 +0000 (19:47 +0300)]
gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent
https://bugzilla.gnome.org/show_bug.cgi?id=743062
Sebastian Dröge [Mon, 15 May 2017 11:20:32 +0000 (14:20 +0300)]
audioclock: Sink the reference in the constructor
This is now needed as GstClock does not do that internally anymore,
because that broke bindings.
And mark the function correctly as (transfer full), which it already was
before.
https://bugzilla.gnome.org/show_bug.cgi?id=743062
Sebastian Dröge [Mon, 15 May 2017 11:19:15 +0000 (14:19 +0300)]
allocators: Annotate constructors with (transfer floating)
GstAllocator is a GstObject and as such uses floating references.
https://bugzilla.gnome.org/show_bug.cgi?id=702960
Nicolas Dufresne [Sat, 29 Apr 2017 03:03:22 +0000 (23:03 -0400)]
alsasink: Accept MPEG 1 layer 3 version 2.5
https://bugzilla.gnome.org/show_bug.cgi?id=781929
Nicolas Dufresne [Sat, 29 Apr 2017 03:02:50 +0000 (23:02 -0400)]
audioringbuffer: Accept MPEG 1 layer 3 version 2.5
https://bugzilla.gnome.org/show_bug.cgi?id=781929
Nicolas Dufresne [Tue, 16 May 2017 17:42:07 +0000 (13:42 -0400)]
Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
Tim-Philipp Müller [Tue, 16 May 2017 00:09:38 +0000 (01:09 +0100)]
video: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 16 May 2017 00:03:45 +0000 (01:03 +0100)]
tag: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 15 May 2017 23:25:51 +0000 (00:25 +0100)]
sdp: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 16 May 2017 00:02:18 +0000 (01:02 +0100)]
rtsp: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 16 May 2017 00:00:09 +0000 (01:00 +0100)]
rtp: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 15 May 2017 23:57:36 +0000 (00:57 +0100)]
riff: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 15 May 2017 23:55:25 +0000 (00:55 +0100)]
pbutils: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 15 May 2017 23:46:34 +0000 (00:46 +0100)]
app: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 15 May 2017 23:45:47 +0000 (00:45 +0100)]
fft: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 15 May 2017 23:45:41 +0000 (00:45 +0100)]
audio: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 15 May 2017 23:30:34 +0000 (00:30 +0100)]
allocators: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 15 May 2017 23:21:57 +0000 (00:21 +0100)]
gst-libs: Remove empty ext subdir
Tim-Philipp Müller [Mon, 15 May 2017 15:20:01 +0000 (16:20 +0100)]
rtpbasedepayload: fix class description in docs
Vincent Penquerc'h [Thu, 11 May 2017 10:12:52 +0000 (11:12 +0100)]
examples: fix element leak in volume example
Vincent Penquerc'h [Thu, 11 May 2017 09:59:21 +0000 (10:59 +0100)]
playback-test: guard against crash on failure to create pipeline
It can happen when giving incorrect parameters (ie, a URI when
expecting a pipeline, etc)
Tim-Philipp Müller [Thu, 4 May 2017 22:55:20 +0000 (23:55 +0100)]
g-i: no need to load registry in g-i scanner
Sebastian Dröge [Thu, 4 May 2017 15:59:14 +0000 (18:59 +0300)]
Back to development
Sebastian Dröge [Thu, 4 May 2017 12:37:27 +0000 (15:37 +0300)]
Release 1.12.0
Sebastian Dröge [Thu, 4 May 2017 12:04:19 +0000 (15:04 +0300)]
Update .po files
Vincent Penquerc'h [Wed, 3 May 2017 15:02:19 +0000 (16:02 +0100)]
decodebin2: fix use after free from demuxer flush pad probe
In some cases, we could get a flush-stop event after the chain structure
containing the demuxer was freed.
https://bugzilla.gnome.org/show_bug.cgi?id=782095
Sebastian Dröge [Tue, 2 May 2017 11:32:02 +0000 (14:32 +0300)]
Revert "videorate: In reverse playback mode, don't output the first buffer with ts=segment.stop"
This reverts commit
e6736e992576d174707af339aeb908722492ebca.
This one is for after 1.12.0 and shouldn't have been merged yet.
Sebastian Dröge [Tue, 2 May 2017 11:31:14 +0000 (14:31 +0300)]
libs: Check if meta transform_func is NULL before using it
https://bugzilla.gnome.org/show_bug.cgi?id=782050
Sebastian Dröge [Fri, 28 Apr 2017 12:24:43 +0000 (15:24 +0300)]
videorate: In reverse playback mode, don't output the first buffer with ts=segment.stop
Instead go backwards before segment.stop based on the framerate or the
next buffers end timestamp. Otherwise the first buffer will usually be
dropped because outside the segment.
https://bugzilla.gnome.org/show_bug.cgi?id=781899
Vitor Massaru Iha [Mon, 1 May 2017 17:31:07 +0000 (14:31 -0300)]
textoverlay: Removing duplicated command.
gst-launch-1.0 was duplicated on textoverlay example.
https://bugzilla.gnome.org/show_bug.cgi?id=782018
Tim-Philipp Müller [Fri, 28 Apr 2017 14:54:04 +0000 (15:54 +0100)]
playbin: minor docs fix
The "frame" property is no more, it's "sample" these days.
Sebastian Dröge [Thu, 27 Apr 2017 14:25:49 +0000 (17:25 +0300)]
Release 1.11.91
Sebastian Dröge [Thu, 27 Apr 2017 12:55:22 +0000 (15:55 +0300)]
Update .po files
Sebastian Dröge [Thu, 27 Apr 2017 12:22:58 +0000 (15:22 +0300)]
po: Update translations
Tim-Philipp Müller [Mon, 24 Apr 2017 19:27:42 +0000 (20:27 +0100)]
Automatic update of common submodule
From 60aeef6 to 48a5d85
Guillaume Desmottes [Wed, 19 Apr 2017 09:47:30 +0000 (11:47 +0200)]
video: fix typo in GstVideoAlignment doc
https://bugzilla.gnome.org/show_bug.cgi?id=781490
Tim-Philipp Müller [Thu, 13 Apr 2017 15:40:02 +0000 (16:40 +0100)]
audio: resampler: fix typos in docs
Rico Tzschichholz [Wed, 12 Apr 2017 14:06:45 +0000 (16:06 +0200)]
meson: Pass --c-include accordingly to GIR builds
Tim-Philipp Müller [Wed, 12 Apr 2017 08:58:49 +0000 (09:58 +0100)]
No need for newlines in debug log statements
Olivier Crête [Mon, 10 Apr 2017 19:35:41 +0000 (15:35 -0400)]
tools: gst-device-monitor: Print gst-launch example
Print a gst-launch-1.0 line that could get to this device,
useful as we don't have other ways to see what it does exactly.
This may not work if the create element has configurations other than
properties.
https://bugzilla.gnome.org/show_bug.cgi?id=781152
Tim-Philipp Müller [Tue, 11 Apr 2017 09:47:29 +0000 (10:47 +0100)]
.gitignore: ignore all generated enumtypes files
Tim-Philipp Müller [Tue, 11 Apr 2017 09:46:50 +0000 (10:46 +0100)]
meson: dist more meson build files
Claudio Saavedra [Tue, 11 Apr 2017 08:44:48 +0000 (11:44 +0300)]
meson: install gstappsink.h
https://bugzilla.gnome.org/show_bug.cgi?id=781168
Sebastian Dröge [Tue, 11 Apr 2017 08:16:33 +0000 (11:16 +0300)]
volume: Store volume as a double for consistency with the property type
And the potential increased precision, which shouldn't matter much here.
https://bugzilla.gnome.org/show_bug.cgi?id=781149
Tim-Philipp Müller [Mon, 10 Apr 2017 22:48:59 +0000 (23:48 +0100)]
Automatic update of common submodule
From 39ac2f5 to 60aeef6
Sebastian Dröge [Mon, 10 Apr 2017 11:29:20 +0000 (14:29 +0300)]
Revert "tag: Fix enum nicks for backwards compatibility"
This reverts commit
595b29519ab6850811ed2e68b75e29a2240a5432.
Bindings are not using the nicks but the actual enum names.
Sebastian Dröge [Mon, 10 Apr 2017 11:25:30 +0000 (14:25 +0300)]
app/tag: Fix build with srcdir!=builddir
Sebastian Dröge [Mon, 10 Apr 2017 11:02:01 +0000 (14:02 +0300)]
tag: Fix enum nicks for backwards compatibility
The enum values got the wrong name at some point, something to fix for 2.0.
Rico Tzschichholz [Mon, 10 Apr 2017 10:55:58 +0000 (13:55 +0300)]
app/tag: Add missing sources/headers to the GIR build
Sebastian Dröge [Sun, 9 Apr 2017 09:54:12 +0000 (12:54 +0300)]
meson: Define missing variable
Sebastian Dröge [Sun, 9 Apr 2017 09:51:52 +0000 (12:51 +0300)]
tag: Generate GLib enums/flags with glib-mkenums
Sebastian Dröge [Sun, 9 Apr 2017 09:29:55 +0000 (12:29 +0300)]
app: Generate GLib enums with glib-mkenums
Sebastian Dröge [Sun, 9 Apr 2017 09:19:22 +0000 (12:19 +0300)]
encoding-profile: It's (transfer none), not (transfer-none)
Sebastian Dröge [Sun, 9 Apr 2017 08:48:27 +0000 (11:48 +0300)]
audio: Generate audiobasesink/src and audiocdsrc GLib enums automatically
And ensure that GstAudioBaseSrcSlaveMethod's re-timestamp stays
re-timestamp and doesn't become retimestamp.
Vivia Nikolaidou [Thu, 6 Apr 2017 19:38:34 +0000 (22:38 +0300)]
timecode: Fix invalid drop-frame timecode right before a new second
The previous fix was only working for non-drop-frame timecodes.
https://bugzilla.gnome.org/show_bug.cgi?id=779866
Sebastian Dröge [Fri, 7 Apr 2017 13:31:10 +0000 (16:31 +0300)]
Release 1.11.90
Sebastian Dröge [Fri, 7 Apr 2017 12:12:37 +0000 (15:12 +0300)]
Update .po files
Sebastian Dröge [Fri, 7 Apr 2017 12:06:07 +0000 (15:06 +0300)]
po: Update translations
Matthew Waters [Mon, 3 Apr 2017 06:41:49 +0000 (16:41 +1000)]
sdp/media: caps_from_media() don't modify the input media
Performing a gst_sdp_media_get_caps_from_media() would result in
changing fields in the GstSDPMedia violating the const tag in the
function declaration.
Before there would be a line with a=rtpmap:96 VP8/90000
after, that attribute would only contain a=rtpmap:96
Fix by performing modifications on duplicated strings instead of on
the internal values.
Also add a simple test for checking that the representation doesn't
change by a gst_sdp_media_get_caps_from_media()
Matthew Waters [Mon, 3 Apr 2017 05:08:06 +0000 (15:08 +1000)]
sdp: add g_return*_if_fail assertions on invalid inputs
Prevents some programming errors and invalid modifications.
Matthew Waters [Mon, 3 Apr 2017 05:05:47 +0000 (15:05 +1000)]
sdp/message: fix segfault copying NULL in the boxed copy impl
Allows passing NULL as a value to g_object_set and as signal
parameters without crashing.
Vincent Penquerc'h [Fri, 31 Mar 2017 12:43:52 +0000 (13:43 +0100)]
video-converter: fix scaler leak
https://bugzilla.gnome.org/show_bug.cgi?id=780764
Vincent Penquerc'h [Fri, 31 Mar 2017 14:59:19 +0000 (15:59 +0100)]
encodebin: fix list leak when requesting a new pad
https://bugzilla.gnome.org/show_bug.cgi?id=780769
Thibault Saunier [Tue, 28 Mar 2017 17:31:34 +0000 (14:31 -0300)]
meson: Use get_pkgconfig_variable instead of calling pkg-config ourself
It is avalaible in meson 0.36 which is now are requirement
Jan Schmidt [Mon, 27 Mar 2017 11:59:17 +0000 (22:59 +1100)]
urisourcebin: Set removed flag when removing buffering msg
Forgot to set the flag, resulting in a missed check for
sending 100% in some cases. Spotted by Coverity.
CID: 1403263
Francisco Velazquez [Sun, 26 Mar 2017 21:33:24 +0000 (23:33 +0200)]
docs: Fix broken URL in reference manual
https://bugzilla.gnome.org/show_bug.cgi?id=780566
Vincent Penquerc'h [Tue, 21 Mar 2017 13:12:47 +0000 (13:12 +0000)]
rawvideoparse: fix assert on large width/height in caps
https://bugzilla.gnome.org/show_bug.cgi?id=776446
Jan Schmidt [Sun, 26 Mar 2017 13:26:53 +0000 (00:26 +1100)]
typefind: Expand the search range for HLS detection
HLS files can have arbitrary extra tags in them, and
those can be quite long lines. We need to search
further than 256 bytes sometimes just to get past the
first few lines of the file. Make the limit 4KB,
which matches a typical input block size and should
hopefully cover every crazy input.
https://bugzilla.gnome.org/show_bug.cgi?id=780559
Thibault Saunier [Fri, 24 Mar 2017 21:51:12 +0000 (18:51 -0300)]
meson: Fix build failure from previous commit
Mistake while rebasing
Thibault Saunier [Fri, 24 Mar 2017 21:46:34 +0000 (18:46 -0300)]
meson: Specify pluginsdir setting the environment
And do not specify the separator as this is OS
dependent and will be handled properly by default
Nicolas Dufresne [Fri, 24 Mar 2017 21:00:23 +0000 (17:00 -0400)]
meson: Reuse plugins_install_dir for building env
Nicolas Dufresne [Fri, 24 Mar 2017 20:16:26 +0000 (16:16 -0400)]
meson: Fix plugin path when running test
The path was only adding the build root. We need to also add the
prefix for the case we work with installed setup. As the search is
recursive, I had to remove any subdirectory to the already present build
root.
Nicolas Dufresne [Wed, 15 Mar 2017 21:28:48 +0000 (17:28 -0400)]
rawvideoparse: Rename frame-stride in to frame-size
The term stride is confusing here, since the stride is always use
to signal the pixel row size of an image (including padding). Also
a frame may have a single stride, which adds to the confusion. This
patch uses frame-size, which simply indicate the frame size in the
case the images have some padding in between.
https://bugzilla.gnome.org/show_bug.cgi?id=780053
Nicolas Dufresne [Wed, 15 Mar 2017 19:28:49 +0000 (15:28 -0400)]
rawvideoparse: Use GstValueArray for strides and offsets
This allow using those property through gst-launch-1.0. This type
gained a deserilizer recently. The syntax is: <val1, val2, ...>.
Note that we also use the type int instead of uint to avoid having
to cast when specifying the values. The deserilizers assume
int by default.
https://bugzilla.gnome.org/show_bug.cgi?id=780053
Haihua Hu [Thu, 23 Mar 2017 05:56:19 +0000 (13:56 +0800)]
streamsynchronizer: every stream need keep their own send_gap_event flag
When a clip has video audio and subtitle, if need send gap event
to audio and subtitle, we should make sure all has been sent, so
need every stream keep one send_gap_event.
https://bugzilla.gnome.org/show_bug.cgi?id=780429