platform/upstream/gst-plugins-base.git
7 years agoFix RGBA and ABGR pack/unpack on big endian cpu
Wim Taymans [Thu, 1 Jun 2017 15:45:41 +0000 (17:45 +0200)]
Fix RGBA and ABGR pack/unpack on big endian cpu

The pack and unpack functions for RGBA and ABGR only work for little
endian cpus. Add variants for big endian as well.

7 years agodiscoverer: Clean up more fields to decide if parent/child streams are equivalent
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

7 years agovideotestsrc: Protect videoinfo with object lock
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.

7 years agourisourcebin: Unref query with gst_query_unref()
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().

7 years agoRelease 1.12.0
Sebastian Dröge [Thu, 4 May 2017 12:37:27 +0000 (15:37 +0300)]
Release 1.12.0

7 years agoUpdate .po files
Sebastian Dröge [Thu, 4 May 2017 12:04:19 +0000 (15:04 +0300)]
Update .po files

7 years agodecodebin2: fix use after free from demuxer flush pad probe
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

7 years agoRevert "videorate: In reverse playback mode, don't output the first buffer with ts...
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.

7 years agolibs: Check if meta transform_func is NULL before using it
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

7 years agovideorate: In reverse playback mode, don't output the first buffer with ts=segment...
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

7 years agotextoverlay: Removing duplicated command.
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

7 years agoplaybin: minor docs fix
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.

7 years agoRelease 1.11.91
Sebastian Dröge [Thu, 27 Apr 2017 14:25:49 +0000 (17:25 +0300)]
Release 1.11.91

7 years agoUpdate .po files
Sebastian Dröge [Thu, 27 Apr 2017 12:55:22 +0000 (15:55 +0300)]
Update .po files

7 years agopo: Update translations
Sebastian Dröge [Thu, 27 Apr 2017 12:22:58 +0000 (15:22 +0300)]
po: Update translations

7 years agoAutomatic update of common submodule
Tim-Philipp Müller [Mon, 24 Apr 2017 19:27:42 +0000 (20:27 +0100)]
Automatic update of common submodule

From 60aeef6 to 48a5d85

7 years agovideo: fix typo in GstVideoAlignment doc
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

7 years agoaudio: resampler: fix typos in docs
Tim-Philipp Müller [Thu, 13 Apr 2017 15:40:02 +0000 (16:40 +0100)]
audio: resampler: fix typos in docs

7 years agomeson: Pass --c-include accordingly to GIR builds
Rico Tzschichholz [Wed, 12 Apr 2017 14:06:45 +0000 (16:06 +0200)]
meson: Pass --c-include accordingly to GIR builds

7 years agoNo need for newlines in debug log statements
Tim-Philipp Müller [Wed, 12 Apr 2017 08:58:49 +0000 (09:58 +0100)]
No need for newlines in debug log statements

7 years agotools: gst-device-monitor: Print gst-launch example
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

7 years ago.gitignore: ignore all generated enumtypes files
Tim-Philipp Müller [Tue, 11 Apr 2017 09:47:29 +0000 (10:47 +0100)]
.gitignore: ignore all generated enumtypes files

7 years agomeson: dist more meson build files
Tim-Philipp Müller [Tue, 11 Apr 2017 09:46:50 +0000 (10:46 +0100)]
meson: dist more meson build files

7 years agomeson: install gstappsink.h
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

7 years agovolume: Store volume as a double for consistency with the property type
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

7 years agoAutomatic update of common submodule
Tim-Philipp Müller [Mon, 10 Apr 2017 22:48:59 +0000 (23:48 +0100)]
Automatic update of common submodule

From 39ac2f5 to 60aeef6

7 years agoRevert "tag: Fix enum nicks for backwards compatibility"
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.

7 years agoapp/tag: Fix build with srcdir!=builddir
Sebastian Dröge [Mon, 10 Apr 2017 11:25:30 +0000 (14:25 +0300)]
app/tag: Fix build with srcdir!=builddir

7 years agotag: Fix enum nicks for backwards compatibility
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.

7 years agoapp/tag: Add missing sources/headers to the GIR build
Rico Tzschichholz [Mon, 10 Apr 2017 10:55:58 +0000 (13:55 +0300)]
app/tag: Add missing sources/headers to the GIR build

7 years agomeson: Define missing variable
Sebastian Dröge [Sun, 9 Apr 2017 09:54:12 +0000 (12:54 +0300)]
meson: Define missing variable

7 years agotag: Generate GLib enums/flags with glib-mkenums
Sebastian Dröge [Sun, 9 Apr 2017 09:51:52 +0000 (12:51 +0300)]
tag: Generate GLib enums/flags with glib-mkenums

7 years agoapp: Generate GLib enums with glib-mkenums
Sebastian Dröge [Sun, 9 Apr 2017 09:29:55 +0000 (12:29 +0300)]
app: Generate GLib enums with glib-mkenums

7 years agoencoding-profile: It's (transfer none), not (transfer-none)
Sebastian Dröge [Sun, 9 Apr 2017 09:19:22 +0000 (12:19 +0300)]
encoding-profile: It's (transfer none), not (transfer-none)

7 years agoaudio: Generate audiobasesink/src and audiocdsrc GLib enums automatically
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.

7 years agotimecode: Fix invalid drop-frame timecode right before a new second
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

7 years agoRelease 1.11.90
Sebastian Dröge [Fri, 7 Apr 2017 13:31:10 +0000 (16:31 +0300)]
Release 1.11.90

7 years agoUpdate .po files
Sebastian Dröge [Fri, 7 Apr 2017 12:12:37 +0000 (15:12 +0300)]
Update .po files

7 years agopo: Update translations
Sebastian Dröge [Fri, 7 Apr 2017 12:06:07 +0000 (15:06 +0300)]
po: Update translations

7 years agosdp/media: caps_from_media() don't modify the input media
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()

7 years agosdp: add g_return*_if_fail assertions on invalid inputs
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.

7 years agosdp/message: fix segfault copying NULL in the boxed copy impl
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.

7 years agovideo-converter: fix scaler leak
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

7 years agoencodebin: fix list leak when requesting a new pad
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

7 years agomeson: Use get_pkgconfig_variable instead of calling pkg-config ourself
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

7 years agourisourcebin: Set removed flag when removing buffering msg
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

7 years agodocs: Fix broken URL in reference manual
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

7 years agorawvideoparse: fix assert on large width/height in caps
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

7 years agotypefind: Expand the search range for HLS detection
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

7 years agomeson: Fix build failure from previous commit
Thibault Saunier [Fri, 24 Mar 2017 21:51:12 +0000 (18:51 -0300)]
meson: Fix build failure from previous commit

Mistake while rebasing

7 years agomeson: Specify pluginsdir setting the environment
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

7 years agomeson: Reuse plugins_install_dir for building env
Nicolas Dufresne [Fri, 24 Mar 2017 21:00:23 +0000 (17:00 -0400)]
meson: Reuse plugins_install_dir for building env

7 years agomeson: Fix plugin path when running test
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.

7 years agorawvideoparse: Rename frame-stride in to frame-size
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

7 years agorawvideoparse: Use GstValueArray for strides and offsets
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

7 years agostreamsynchronizer: every stream need keep their own send_gap_event flag
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

7 years agourisourcebin: Mention which queue is being linked in debug output
Jan Schmidt [Wed, 22 Mar 2017 13:21:44 +0000 (00:21 +1100)]
urisourcebin: Mention which queue is being linked in debug output

7 years agoexamples: jsseek: fix typo
Tim-Philipp Müller [Mon, 20 Mar 2017 17:45:35 +0000 (17:45 +0000)]
examples: jsseek: fix typo

Spotted by Yaakov Selkowitz

7 years agoexamples: jsseek: update for removal of mad plugin
Tim-Philipp Müller [Mon, 20 Mar 2017 16:57:58 +0000 (16:57 +0000)]
examples: jsseek: update for removal of mad plugin

https://bugzilla.gnome.org/show_bug.cgi?id=776140

7 years agoconvertframe: Fix async video sample conversion with non-default context
Arun Raghavan [Mon, 20 Mar 2017 11:50:36 +0000 (17:20 +0530)]
convertframe: Fix async video sample conversion with non-default context

The GSource for dealing with timeouts in
gst_video_convert_sample_async() might be attached to a non-default
context, so we should not be using g_source_remove() on the returned ID.

The correct thing to do is to keep a reference to the actual GSource and
then call g_source_destroy() on it.

https://bugzilla.gnome.org/show_bug.cgi?id=780297

7 years agourisourcebin: Fix typefind list leak
Seungha Yang [Sun, 19 Mar 2017 04:51:24 +0000 (13:51 +0900)]
urisourcebin: Fix typefind list leak

https://bugzilla.gnome.org/show_bug.cgi?id=780257

7 years agoadder: cleanup the tests
Stefan Sauer [Fri, 17 Mar 2017 20:39:58 +0000 (21:39 +0100)]
adder: cleanup the tests

Take a first stab at cleaning up the tests. Extract common code. Make sure
we actually verify things.

7 years agodecodebin: Close a small race posting 100% buffering
Jan Schmidt [Fri, 17 Mar 2017 14:10:54 +0000 (01:10 +1100)]
decodebin: Close a small race posting 100% buffering

When posting 100% buffering due to removing the last
buffering element, we still need to hold the posting
lock as well, to avoid any race with other elements
that might post a buffering message at that exact
moment

7 years agourisourcebin: Fix buffering message aggregation.
Jan Schmidt [Fri, 17 Mar 2017 13:54:55 +0000 (00:54 +1100)]
urisourcebin: Fix buffering message aggregation.

Add locking, and handle EOS properly now that urisourcebin
uses custom events in place of real EOS events, so we
need to manually remove buffering messages and potentially
post 100% in that situation

7 years agourisourcebin: Store slot info on the queue object too
Jan Schmidt [Fri, 17 Mar 2017 13:06:02 +0000 (00:06 +1100)]
urisourcebin: Store slot info on the queue object too

The buffering message handling tries to look up the
slot info on the queue itself.

7 years agovideodecoder: Add debug output tracking decode-after-flush
Jan Schmidt [Thu, 16 Mar 2017 02:56:10 +0000 (13:56 +1100)]
videodecoder: Add debug output tracking decode-after-flush

Track how long it takes to generate the first buffer after a flush
as a simple measure of how efficient the decoder is at skipping /
rushing to get to the first decode.

7 years agovideotestsrc: Publish multiview-mode info in the caps
Jan Schmidt [Thu, 16 Mar 2017 00:27:47 +0000 (11:27 +1100)]
videotestsrc: Publish multiview-mode info in the caps

Don't allow downstream to accidentally pretend that
the output is anything than a mono or single-eye
left/right view.

https://bugzilla.gnome.org/show_bug.cgi?id=776172

7 years agovideo-format: Shift correctly when packing I420_12BE
Sebastian Dröge [Fri, 17 Mar 2017 11:43:04 +0000 (13:43 +0200)]
video-format: Shift correctly when packing I420_12BE

7 years agovideo-format: Order all formats in GST_VIDEO_FORMATS_ALL like in the enum
Sebastian Dröge [Fri, 17 Mar 2017 11:14:58 +0000 (13:14 +0200)]
video-format: Order all formats in GST_VIDEO_FORMATS_ALL like in the enum

And remove duplicated entries.

7 years agoencoding-profile: Mark format caps as transfer-none in profile creation
Arun Raghavan [Fri, 17 Mar 2017 10:29:14 +0000 (15:59 +0530)]
encoding-profile: Mark format caps as transfer-none in profile creation

7 years agovideo-format: Add Since markers to all new formats from 1.2
Sebastian Dröge [Thu, 16 Mar 2017 15:37:34 +0000 (17:37 +0200)]
video-format: Add Since markers to all new formats from 1.2

https://bugzilla.gnome.org/show_bug.cgi?id=780100

7 years agovideo: Add I420/I422/Y444_12LE/BE and GBRA video formats
Sebastian Dröge [Thu, 16 Mar 2017 15:12:17 +0000 (17:12 +0200)]
video: Add I420/I422/Y444_12LE/BE and GBRA video formats

https://bugzilla.gnome.org/show_bug.cgi?id=780100

7 years agovideo: Add GBRA_10LE/BE, GBR_12LE/BE, GBRA_12LE/BE pixel formats
Emeric Grange [Thu, 16 Mar 2017 10:45:42 +0000 (11:45 +0100)]
video: Add GBRA_10LE/BE, GBR_12LE/BE, GBRA_12LE/BE pixel formats

With additional bugfixes from Sebastian Dröge <sebastian@centricular.com>

https://bugzilla.gnome.org/show_bug.cgi?id=780100

7 years agomultifdsink: Remove GValueArray from the doc
Olivier Crête [Tue, 14 Mar 2017 20:30:18 +0000 (16:30 -0400)]
multifdsink: Remove GValueArray from the doc

It's been a GstStructure for a long time. Also fix
a typo in the name of one of the fields.

7 years agoAdd old libgstencodebin.so to cruft list
Nicolas Dufresne [Sun, 12 Mar 2017 15:35:25 +0000 (11:35 -0400)]
Add old libgstencodebin.so to cruft list

This will help fixing clash in gst-uninstalled setup.

https://bugzilla.gnome.org/show_bug.cgi?id=779344

7 years agodocs: Convert gtkdoc comments to markdown
Thibault Saunier [Mon, 23 Jan 2017 19:36:11 +0000 (16:36 -0300)]
docs: Convert gtkdoc comments to markdown

Modernizing the documentation, making it simpler to read an
modify and allowing us to possibly switch to hotdoc in the
future.

7 years agovideotimecode: Fix invalid timecode right before a new second
Vivia Nikolaidou [Fri, 10 Mar 2017 15:40:13 +0000 (17:40 +0200)]
videotimecode: Fix invalid timecode right before a new second

When initializing a timecode from a GDateTime, and the remaining time
until the new second is less than half a frame (according to the given
frame rate), it would lead to the creation of an invalid timecode, e.g.
00:00:00:25 (at 25 fps) instead of 00:00:01:00. Fixed.

https://bugzilla.gnome.org/show_bug.cgi?id=779866

7 years agovideodecoder: fix build error on i386
Matthew Waters [Fri, 10 Mar 2017 07:22:27 +0000 (18:22 +1100)]
videodecoder: fix build error on i386

Use G_GUINT64_FORMAT for guint64 values.

Introduced by fcb63e77a9de42cfb50da03a4925b06704006be3

Found by Alexander Larsson

gstvideodecoder.c: In function 'gst_video_decoder_have_frame':
gstvideodecoder.c:3312:51: error: format '%u' expects argument of type 'unsigned int', but argument 8 has type 'guint64 {aka long long unsigned int}' [-Werror=format=]

7 years agoFix plugin filenames to match pugin names
Nicolas Dufresne [Sat, 4 Mar 2017 15:08:04 +0000 (10:08 -0500)]
Fix plugin filenames to match pugin names

 - libgstencodebin.so is now libgstencoding.so
 - libgstximage.so is now libgstximagesink.so (meson only)

https://bugzilla.gnome.org/show_bug.cgi?id=779344

7 years agourisourcebin: Shrink queue2 max-size-time buffering
Jan Schmidt [Wed, 8 Mar 2017 14:40:06 +0000 (01:40 +1100)]
urisourcebin: Shrink queue2 max-size-time buffering

The expanded 4 second buffering was making radio streams that are
being delivered at real-time speeds too slow. We might need
a better plan for matching the queue2 size to incoming bitrate
in the absence of tag information or timestamping.

In uridecodebin, it used tags on the output of decodebin to
adjust the queue2 buffering, but urisourcebin doesn't have that
view - decodebin is downstream from us.

7 years agovideotimecode: Unref GDateTime in error cases
Sebastian Dröge [Wed, 8 Mar 2017 13:47:52 +0000 (15:47 +0200)]
videotimecode: Unref GDateTime in error cases

7 years agoplaybin3/urisourcebin: Enable buffering by default
Sebastian Dröge [Tue, 7 Mar 2017 12:59:36 +0000 (14:59 +0200)]
playbin3/urisourcebin: Enable buffering by default

This only has effect on network streams in these elements, and by
enabling it by default we get the same behaviour as in playbin2.

7 years agotools: gst-play: improve verbose output of property notifications
Tim-Philipp Müller [Tue, 7 Mar 2017 00:25:03 +0000 (00:25 +0000)]
tools: gst-play: improve verbose output of property notifications

Use new message notify API and print caps and taglists in a nicer
to read way, just like gst-launch-1.0 does nowadays, without
escaping everything three times.

7 years agovideodecoder: Fix a leak introduced in fcb63e
Jan Schmidt [Mon, 6 Mar 2017 08:14:48 +0000 (19:14 +1100)]
videodecoder: Fix a leak introduced in fcb63e

CID: 1402055

7 years agooggdemux: Fix reverse playback
Jan Schmidt [Fri, 3 Mar 2017 13:27:30 +0000 (00:27 +1100)]
oggdemux: Fix reverse playback

Fix various issues with reverse playback by clearing tracking
vars when working in reverse, and where possible using the
timestamp interpolation code to generate timestamps for
outgoing buffers. Make sure to mark things as discontinuous
only when looping backward to a new position and fix seeking
to the next page when starting.

7 years agooggdemux: Timestamp tracking fixes
Jan Schmidt [Fri, 3 Mar 2017 13:22:17 +0000 (00:22 +1100)]
oggdemux: Timestamp tracking fixes

In gst_ogg_demux_do_seek() when calculating the
keyframe time, account for a non-zero start-time

Handle a discontinuous first packet in
gst_ogg_demux_setup_first_granule() because that's pretty
normal after a seek. Also differentiate between a genuinely
truncated first packet and just bailing out early, by not using
granule = -1 as an error code.

Make the debug output logs clearer about which timestamps
are stream times (PTS) and which are ogg timestamps.

7 years agooggdemux: Don't arbitrarily guess a timestamp of 0
Jan Schmidt [Fri, 3 Mar 2017 13:15:50 +0000 (00:15 +1100)]
oggdemux: Don't arbitrarily guess a timestamp of 0

When we haven't managed to manufacture a timestamp for
a packet, don't just guess '0', leave it at none and
let downstream decide

7 years agotheoradec: Make the keyframe condition check clearer
Jan Schmidt [Fri, 3 Mar 2017 13:12:26 +0000 (00:12 +1100)]
theoradec: Make the keyframe condition check clearer

Make the keyframe checking if statement easier to
read, and add some debug when detecting a keyframe

7 years agovideodecoder: Restrict frame timestamp guessing in reverse mode
Jan Schmidt [Fri, 3 Mar 2017 13:18:07 +0000 (00:18 +1100)]
videodecoder: Restrict frame timestamp guessing in reverse mode

Don't guess a timestamp of the start of the segment when running
in reverse mode, as more likely it means we're discontinuous somewhere
in the middle of the segment, and we'll fix up timestamps once
the frames are decoded and reversed.

7 years agovideodecoder: Store buffer information even without PTS
Jan Schmidt [Fri, 3 Mar 2017 13:10:27 +0000 (00:10 +1100)]
videodecoder: Store buffer information even without PTS

When a PTS is not set, we still want to store the rest of the
buffer information, or else we lose important things like the
duration or buffer flags when parsing.

7 years agovorbisdec: Reset decoder in more situations
Edward Hervey [Fri, 3 Mar 2017 09:52:15 +0000 (10:52 +0100)]
vorbisdec: Reset decoder in more situations

This is a followup commit to b95725c37e70ad3c1ec8dadb401388db375df482

* Resetting the decoder should only happen when we get a new initialization
header (0x01) and not on the other headers
* The initialized variable only gets set to TRUE once all headers have
been parsed. Also check if the vorbis_info struct has been properly resetted
also. Failure to do that would cause vorbisdec to error if it got
two initialization header in a row (the first would configure the underlying
library and the second one would error out because it's already initialized)

https://bugzilla.gnome.org/show_bug.cgi?id=779515

7 years agorawbaseparse: Assert that frame size is > 0
Sebastian Dröge [Tue, 28 Feb 2017 13:51:00 +0000 (15:51 +0200)]
rawbaseparse: Assert that frame size is > 0

We would later divide by zero otherwise, and generally won't do the
right thing.

CID 1401383

7 years agorawaudioparse: Fix potential NULL pointer dereference
Sebastian Dröge [Tue, 28 Feb 2017 13:26:36 +0000 (15:26 +0200)]
rawaudioparse: Fix potential NULL pointer dereference

CID 1364606

7 years agodecodebin3: Fix potential NULL pointer dereference on slot deactivation
Sebastian Dröge [Tue, 28 Feb 2017 13:17:24 +0000 (15:17 +0200)]
decodebin3: Fix potential NULL pointer dereference on slot deactivation

CID 1363331

7 years agourisourcebin: Fix inverted check for an existing slot
Sebastian Dröge [Tue, 28 Feb 2017 13:15:31 +0000 (15:15 +0200)]
urisourcebin: Fix inverted check for an existing slot

CID 1363330

7 years agodecodebin3: Handle stream-start events without group id correctly
Sebastian Dröge [Tue, 28 Feb 2017 13:13:49 +0000 (15:13 +0200)]
decodebin3: Handle stream-start events without group id correctly

CID 1363327

7 years agovideodecoder: Handle return value of gst_video_decoder_drain()
Sebastian Dröge [Tue, 28 Feb 2017 13:11:42 +0000 (15:11 +0200)]
videodecoder: Handle return value of gst_video_decoder_drain()

CID 1362896

7 years agovorbisdec: reset decoder on vorbis headers update
Jochen Henneberg [Thu, 9 Feb 2017 12:44:51 +0000 (12:44 +0000)]
vorbisdec: reset decoder on vorbis headers update

if the vorbis encoder receives new headers it must be
reset and re-initialized to continue decoding, e. g.
for live streams

7 years agovorbisenc: Resend (new, updated) headers when the caps are changing
Sebastian Dröge [Mon, 27 Feb 2017 17:04:30 +0000 (19:04 +0200)]
vorbisenc: Resend (new, updated) headers when the caps are changing

The headers are usually changing together with the caps, and they are
nedeed for correct decoding.

7 years agorawparse: fix linking for audio/video libs
Tim-Philipp Müller [Sat, 25 Feb 2017 19:19:32 +0000 (19:19 +0000)]
rawparse: fix linking for audio/video libs

Broke build in gnome continuous