platform/upstream/gstreamer.git
7 years agobuild: fix gst-uninstalled build in osx
Josep Torra [Thu, 25 Aug 2016 10:45:33 +0000 (12:45 +0200)]
build: fix gst-uninstalled build in osx

Fixes clang: error: argument unused during compilation: '-pthread'
when building the test programs.

7 years agobuild: unconditionally check for video, audio and pbutils modules
Josep Torra [Thu, 25 Aug 2016 12:35:59 +0000 (14:35 +0200)]
build: unconditionally check for video, audio and pbutils modules

Check for modules in configure and use GST_*_LIBS vars to link with
the libraries instead of hardcoding them.

7 years agoglvideoflip: implement GstVideoDirection interface
Xabier Rodriguez Calvar [Tue, 26 Jul 2016 17:55:13 +0000 (19:55 +0200)]
glvideoflip: implement GstVideoDirection interface

It implements now this interface with its video-direction
property. Values are changed to GstVideoOrientationMethod but they have
the same value than the originals.

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

7 years agofdkaacenc: Implement some automatic bitrate selection
Sebastian Dröge [Wed, 24 Aug 2016 16:43:55 +0000 (19:43 +0300)]
fdkaacenc: Implement some automatic bitrate selection

Based on sample rate and channel count, see
http://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC#Recommended_Sampling_Rate_and_Bitrate_Combinations

7 years agoplayer: On redirects, remember the redirect URI separately and don't consider this...
Sebastian Dröge [Wed, 24 Aug 2016 11:15:09 +0000 (14:15 +0300)]
player: On redirects, remember the redirect URI separately and don't consider this an URI property change

The application does not know anything about the redirect, and changing its
URI internally will cause confusion.

Also don't reset the subtitle URI.

7 years agoplayer: Don't report spurious STOPPED state changes when doing transient changes...
Sebastian Dröge [Wed, 24 Aug 2016 11:10:41 +0000 (14:10 +0300)]
player: Don't report spurious STOPPED state changes when doing transient changes there

7 years agoplayer: Ensure that rate is initialized to 1.0
Sebastian Dröge [Wed, 24 Aug 2016 10:01:46 +0000 (13:01 +0300)]
player: Ensure that rate is initialized to 1.0

7 years agoopensles: Add opensles.h to noinst_HEADERS
Fredrik Fornwall [Wed, 24 Aug 2016 10:16:00 +0000 (10:16 +0000)]
opensles: Add opensles.h to noinst_HEADERS

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

7 years agoplayer: De-duplicate rate setting code and always use the property
Sebastian Dröge [Tue, 23 Aug 2016 11:37:17 +0000 (14:37 +0300)]
player: De-duplicate rate setting code and always use the property

7 years agoplayer: Protect setter/getter for the configuration with a mutex
Sebastian Dröge [Tue, 23 Aug 2016 11:33:11 +0000 (14:33 +0300)]
player: Protect setter/getter for the configuration with a mutex

7 years agoplayer: Move subtitle URI setter next to the uri setter
Sebastian Dröge [Tue, 23 Aug 2016 11:32:24 +0000 (14:32 +0300)]
player: Move subtitle URI setter next to the uri setter

It's confusing to have them a couple of hundred lines apart.

7 years agovtdec: fix MPEG-2 video caps
Matej Knopp [Wed, 17 Aug 2016 17:59:17 +0000 (19:59 +0200)]
vtdec: fix MPEG-2 video caps

Add systemstream=false to caps, otherwise the decoder
may be picked for MPEG-PS files. Also parsed=true,
as video toolbox expects entire frame in
VTDecompressionSessionDecodeFrame.

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

7 years agoadaptivedemux: Fix the previous commit
Jan Schmidt [Mon, 22 Aug 2016 16:13:19 +0000 (02:13 +1000)]
adaptivedemux: Fix the previous commit

Remove extra files that were not meant to be added to the commit

7 years agoadaptivedemux: Fix broken updates loop on live streams
Jan Schmidt [Mon, 22 Aug 2016 15:57:55 +0000 (01:57 +1000)]
adaptivedemux: Fix broken updates loop on live streams

Prevent the manifest update loop from looping endlessly
after a seek event, by clearing the variable that tells
the task function not to immediately exit.

7 years agoadaptivedemux: fix stream exposure condition
Michael Olbrich [Thu, 18 Aug 2016 08:06:27 +0000 (10:06 +0200)]
adaptivedemux: fix stream exposure condition

The new streams should not be exposed until all streams are done with the
current fragment. The old code is incorrect and actually only checked the
current stream. Fix this by properly checking all streams.

Also, ignore the current stream. The code is only reached when the current
stream finished downloading and since
07f49f15b1196cc9fa0d45af91149a35fce123b9 ("adaptivedemux: On EOS, handle it
before waking download loop") download_finished is set after
gst_adaptive_demux_stream_advance_fragment_unlocked() is called.

Without this HLS playback with multiple streams is broken, because the new
streams are never exposed.

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

7 years agomeson: remove unused mpg123 build file
Tim-Philipp Müller [Sun, 21 Aug 2016 15:21:07 +0000 (16:21 +0100)]
meson: remove unused mpg123 build file

mpg123 was moved to ugly.

7 years agoAdd support for Meson as alternative/parallel build system
Nirbheek Chauhan [Fri, 12 Aug 2016 15:51:45 +0000 (21:21 +0530)]
Add support for Meson as alternative/parallel build system

https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Matej Knopp <matej.knopp@gmail.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.

7 years agoplugins: Use stdint.h instead of _stdint.h
Nirbheek Chauhan [Thu, 18 Aug 2016 12:16:19 +0000 (17:46 +0530)]
plugins: Use stdint.h instead of _stdint.h

_stdint.h is generated by Autotools and we don't really need it. All
supported platforms now ship with stdint.h. The only stickler was MSVC,
and since Visual Studio 2015 it also ships stdint.h now.

7 years agowin32: Update libgstgl.def
Nirbheek Chauhan [Fri, 12 Aug 2016 16:21:17 +0000 (21:51 +0530)]
win32: Update libgstgl.def

7 years agocodecparsers: Explicitly export functions marked inline
Nirbheek Chauhan [Tue, 1 Mar 2016 19:23:44 +0000 (00:53 +0530)]
codecparsers: Explicitly export functions marked inline

On MSVC, inline functions are not available outside of a file unless
explicitly exported

7 years agorawvideoparse: fix typo in comment
Luis de Bethencourt [Fri, 19 Aug 2016 11:24:58 +0000 (12:24 +0100)]
rawvideoparse: fix typo in comment

Small typo in the comment explaining the code fixed by the previous commit.
Fixing it.

7 years agorawvideoparse: Revert last commit and actually remember the physically last plane
Sebastian Dröge [Fri, 19 Aug 2016 11:19:38 +0000 (14:19 +0300)]
rawvideoparse: Revert last commit and actually remember the physically last plane

Instead of just always taking the last one as before.

7 years agorawvideoparse: remove unused assignment
Luis de Bethencourt [Fri, 19 Aug 2016 10:57:33 +0000 (11:57 +0100)]
rawvideoparse: remove unused assignment

Value in last_plane will be overwritten before used, remove unused
asignment.

Fixes commit 91cf5ac69f9c99fe41d60f42b4174915dd135e7b
CID 1371462

7 years agodaala: fix typo related compilation error
Philippe Renon [Thu, 18 Aug 2016 16:55:41 +0000 (18:55 +0200)]
daala: fix typo related compilation error

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

7 years agoapplemedia-nonpublic: remove bitrotten plugin that's no longer needed
Tim-Philipp Müller [Fri, 19 Aug 2016 10:02:46 +0000 (11:02 +0100)]
applemedia-nonpublic: remove bitrotten plugin that's no longer needed

7 years agoavfvideosrc: account for retina displays when capturing screens
Florian Zwoch [Fri, 19 Aug 2016 09:46:24 +0000 (19:46 +1000)]
avfvideosrc: account for retina displays when capturing screens

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

7 years agobuild: bump graphene requirement to 1.4
Matthew Waters [Fri, 19 Aug 2016 07:11:13 +0000 (17:11 +1000)]
build: bump graphene requirement to 1.4

7 years agogltransformation: rewrite the inverse transformation logic
Matthew Waters [Fri, 19 Aug 2016 05:35:49 +0000 (15:35 +1000)]
gltransformation: rewrite the inverse transformation logic

It now returns the correct values for both orthographic and perspective
projections and takes into account the aspect ratio of the video, handles
the Y-flipping in GL and by us and uses some more helpers from graphene.

7 years agoglwindow: marshal gst_gl_window_resize through the window loop
Matthew Waters [Fri, 1 Jul 2016 06:18:55 +0000 (16:18 +1000)]
glwindow: marshal gst_gl_window_resize through the window loop

saves having every caller do it themselves.

7 years agogl/wayland: use multi-threaded safe event wayland API
Matthew Waters [Thu, 30 Jun 2016 13:06:43 +0000 (23:06 +1000)]
gl/wayland: use multi-threaded safe event wayland API

Multiple threads may be accessing the wayland fd at the same time which
requires the use of special wayland API to deal with to ensure nobody
will steal reads and cause a stall for anyone else.

7 years agogl/examples/fxtest: fix up for wayland support
Matthew Waters [Thu, 30 Jun 2016 14:15:55 +0000 (00:15 +1000)]
gl/examples/fxtest: fix up for wayland support

- Pass the wayland display to gst
- Redrawing on resize is no longer needed.

7 years agodvb/parsechannels: warn on ignored key/value pairs
Reynaldo H. Verdejo Pinochet [Wed, 17 Aug 2016 23:21:34 +0000 (16:21 -0700)]
dvb/parsechannels: warn on ignored key/value pairs

Otherwise at runtine, users get the misleading
parsing-OK message with no info on, for example,
properties that failed to map because of a typo.

7 years agodvb/parsechannels: handle problems parsing dvbv5 config keys
Reynaldo H. Verdejo Pinochet [Tue, 16 Aug 2016 22:35:39 +0000 (15:35 -0700)]
dvb/parsechannels: handle problems parsing dvbv5 config keys

7 years agomplex: Don't start task (yet/again) on pad release if we're in READY or NULL
Sebastian Dröge [Thu, 18 Aug 2016 12:28:33 +0000 (15:28 +0300)]
mplex: Don't start task (yet/again) on pad release if we're in READY or NULL

Fixes spurious segfault in unit test, where the task was started again during
shutdown when all pads were removed... and was then still running while the
element was finalized.

7 years agodashdemux: In KEY_UNITS trick mode, download all I-frames and not only IDR
Sebastian Dröge [Thu, 18 Aug 2016 10:21:54 +0000 (13:21 +0300)]
dashdemux: In KEY_UNITS trick mode, download all I-frames and not only IDR

7 years agorawparse: Fix and extend unit tests
Carlos Rafael Giani [Mon, 8 Aug 2016 15:54:46 +0000 (17:54 +0200)]
rawparse: Fix and extend unit tests

* Add caps change test to unit tests
* Cleanup leftover buffers after each unit test
* Add missing rawvideoparse entry in .gitignore

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

7 years agorawvideoparse: Compute plane offsets & strides if no custom ones are set
Carlos Rafael Giani [Tue, 16 Aug 2016 07:31:40 +0000 (09:31 +0200)]
rawvideoparse: Compute plane offsets & strides if no custom ones are set

This is useful to ensure that the offsets and strides are computed if
only width, height, format etc. in the property config are set.

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

7 years agoavfassetsrc: Don't escape the URI another time in another location too
Sergei Saveliev [Tue, 16 Aug 2016 15:46:49 +0000 (18:46 +0300)]
avfassetsrc: Don't escape the URI another time in another location too

One location was forgotten in a913a0b9679dd58945ad105d240db45595fdaba6

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

7 years agogl/egl: fix inverted typedef
Matthew Waters [Tue, 16 Aug 2016 10:33:21 +0000 (20:33 +1000)]
gl/egl: fix inverted typedef

2b6841d had an inverted typedef defining ginptr and EGLAttrib.  Fix that.

7 years agowildmidi: Fix compilation with wildmidi 0.4
Sebastian Dröge [Tue, 16 Aug 2016 07:37:28 +0000 (10:37 +0300)]
wildmidi: Fix compilation with wildmidi 0.4

Old versions used char* for the data, new versions use int8_t*. They're often
not the same and differ in signedness.

7 years agogl/build: add configure check for possibly missing EGLAttrib
Matthew Waters [Tue, 16 Aug 2016 06:51:02 +0000 (16:51 +1000)]
gl/build: add configure check for possibly missing EGLAttrib

Fixes the build on older android targets.

7 years agogl/egl/dmabuf: Wrong attribute list type for EGL 1.5
Song Bing [Wed, 13 Jul 2016 09:15:44 +0000 (17:15 +0800)]
gl/egl/dmabuf: Wrong attribute list type for EGL 1.5

For EGL 1.5 spec, the attribute list type should be EGLAttrib.

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

7 years agoglcontext: fix race joining thread on finalize
Vincent Penquerc'h [Mon, 15 Aug 2016 15:14:25 +0000 (16:14 +0100)]
glcontext: fix race joining thread on finalize

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

7 years agoqt: Use wglShareLists() workaround unconditionally.
Jan Schmidt [Mon, 15 Aug 2016 14:40:53 +0000 (00:40 +1000)]
qt: Use wglShareLists() workaround unconditionally.

Sometimes wglCreateContextAttribsARB() exists, but
isn't functional (some Intel drivers), so it's
easiest to do the workaround unconditionally.

7 years agowinks: Fix RGB frame flipping and postprocessing
Jan Schmidt [Mon, 15 Aug 2016 06:37:44 +0000 (16:37 +1000)]
winks: Fix RGB frame flipping and postprocessing

Uncompressed RGB frames can be (usually are) bottom-up
layout in DirectShow, and the code to flip them wasn't
properly ported from 0.10. Fix it.

Fix post-processing of RGB buffers. We need a writable
buffer, but the requests pool is holding an extra ref.
This could use more fixing to use a buffer pool

7 years agowinks: Give the ksvideosrc PRIMARY rank
Jan Schmidt [Fri, 12 Aug 2016 12:17:25 +0000 (22:17 +1000)]
winks: Give the ksvideosrc PRIMARY rank

It's the primary video source on Windows, so give it a
rank for autoplugging by camerabin and friends

7 years agowinks: Fix swapped RGBx/RGB caps mapping, and endianness.
Jan Schmidt [Fri, 12 Aug 2016 12:16:33 +0000 (22:16 +1000)]
winks: Fix swapped RGBx/RGB caps mapping, and endianness.

The RGBx and RGB format mappings were reversed.

What Windows calls RGB are laid out as BGR in our parlance, so
switch that too

7 years agoqt: Move debug statement to after the category init
Jan Schmidt [Mon, 8 Aug 2016 03:41:14 +0000 (13:41 +1000)]
qt: Move debug statement to after the category init

Don't output debug to an uninitialised debug category.

7 years agodashdemux: Disable unit test for the time being
Sebastian Dröge [Thu, 11 Aug 2016 10:19:59 +0000 (12:19 +0200)]
dashdemux: Disable unit test for the time being

It uses random data streams but dashdemux nowadays actually looks into the
streams and doesn't like randomness very much. The tests should probably just
become validate tests on real streams.

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

7 years agoRevert "Revert "dashdemux: When doing SIDX seeking, return instead of overriding...
Sebastian Dröge [Thu, 11 Aug 2016 10:11:22 +0000 (12:11 +0200)]
Revert "Revert "dashdemux: When doing SIDX seeking, return instead of overriding the timestamp with 0 from the MPD seeking method""

This reverts commit aea2c13fc1672a7260679d706d0a084a34ba7531.

7 years agodashdemux: When doing chunked downloading on SIDX, clip requests on the SIDX entry...
Sebastian Dröge [Thu, 4 Aug 2016 11:47:41 +0000 (14:47 +0300)]
dashdemux: When doing chunked downloading on SIDX, clip requests on the SIDX entry boundaries

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

7 years agodashdemux: Collect average moof and first sync sample sizes
Sebastian Dröge [Tue, 2 Aug 2016 05:47:55 +0000 (08:47 +0300)]
dashdemux: Collect average moof and first sync sample sizes

And always request those in the beginning so that ideally we get the moof and
the first sync sample all together with the first HTTP request.

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

7 years agodashdemux: Download any sync-sample following the moof directly in key-units only...
Sebastian Dröge [Tue, 2 Aug 2016 05:35:26 +0000 (08:35 +0300)]
dashdemux: Download any sync-sample following the moof directly in key-units only mode

We don't have to do yet another additional request but can just download the
data directly.

Also unify the key-unit only mode buffer pushing and extract it into its own
function now that it became more complicated.

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

7 years agodashdemux: If a fragment contains no sync samples, disable key-unit mode
Sebastian Dröge [Fri, 29 Jul 2016 09:50:58 +0000 (12:50 +0300)]
dashdemux: If a fragment contains no sync samples, disable key-unit mode

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

7 years agodashdemux: Remember if for a stream we could do key-units only mode
Sebastian Dröge [Fri, 29 Jul 2016 09:32:50 +0000 (12:32 +0300)]
dashdemux: Remember if for a stream we could do key-units only mode

This makes sure we don't even try going into that mode if we previously saw
that the stream does not have the suitable metadata.

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

7 years agodashdemux: Also allow key-unit only mode if (some) sample flags are given by trex...
Sebastian Dröge [Fri, 29 Jul 2016 08:54:21 +0000 (11:54 +0300)]
dashdemux: Also allow key-unit only mode if (some) sample flags are given by trex but we can still find sync frames

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

7 years agodashdemux: Use chunked downloading for the moof in KEY_UNITS mode
Sebastian Dröge [Tue, 12 Jul 2016 17:09:52 +0000 (20:09 +0300)]
dashdemux: Use chunked downloading for the moof in KEY_UNITS mode

Allows us to reuse the HTTP connection and reduce latencies a lot.

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

7 years agoadaptivedemux: Add API for allowing subclasses to download URLs in chunks
Sebastian Dröge [Tue, 12 Jul 2016 07:22:43 +0000 (10:22 +0300)]
adaptivedemux: Add API for allowing subclasses to download URLs in chunks

This allows to gradually download part of a fragment when the final size is
not known and only a part of it should be downloaded. For example when only
the moof should be parsed and/or a single keyframe should be downloaded.

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

7 years agodashdemux: Mark every first buffer of moov, sidx, moof and mdat as DISCONT in keyfram...
Sebastian Dröge [Wed, 1 Jun 2016 11:02:11 +0000 (14:02 +0300)]
dashdemux: Mark every first buffer of moov, sidx, moof and mdat as DISCONT in keyframe-only mode

We need to mark every first buffer of a key unit as discont, and also every
first buffer of a moov and moof. This ensures that qtdemux takes note of our
buffer offsets for each of those buffers instead of keeping track of them
itself from the first buffer. We need offsets to be consistent between moof
and mdat

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

7 years agodashdemux: Only enable key-unit trick mode for video streams
Sebastian Dröge [Thu, 28 Jul 2016 07:53:49 +0000 (10:53 +0300)]
dashdemux: Only enable key-unit trick mode for video streams

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

7 years agodashdemux: Only do keyframe-only playback if the corresponding seek flag is given
Sebastian Dröge [Tue, 31 May 2016 12:12:49 +0000 (15:12 +0300)]
dashdemux: Only do keyframe-only playback if the corresponding seek flag is given

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

7 years agodashdemux: Implement downloading of only sync samples
Sebastian Dröge [Mon, 30 May 2016 09:09:34 +0000 (12:09 +0300)]
dashdemux: Implement downloading of only sync samples

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

7 years agodashdemux: Store parsed moof and extract offsets of sync samples in it
Sebastian Dröge [Mon, 30 May 2016 08:15:03 +0000 (11:15 +0300)]
dashdemux: Store parsed moof and extract offsets of sync samples in it

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

7 years agodash: Add test for parsing a moof box
Sebastian Dröge [Mon, 2 May 2016 14:11:31 +0000 (17:11 +0300)]
dash: Add test for parsing a moof box

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

7 years agodash: Add unit test for ISOBFF box header parsing
Sebastian Dröge [Mon, 2 May 2016 13:03:56 +0000 (16:03 +0300)]
dash: Add unit test for ISOBFF box header parsing

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

7 years agodashdemux: Implement parsing of moof box
Sebastian Dröge [Thu, 7 Apr 2016 18:33:51 +0000 (21:33 +0300)]
dashdemux: Implement parsing of moof box

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

7 years agodashdemux: Move code around to keep all sidx related functions together
Sebastian Dröge [Thu, 7 Apr 2016 10:34:57 +0000 (13:34 +0300)]
dashdemux: Move code around to keep all sidx related functions together

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

7 years agodashdemux: Store box fourccs in the header at a central place
Sebastian Dröge [Thu, 7 Apr 2016 09:57:13 +0000 (12:57 +0300)]
dashdemux: Store box fourccs in the header at a central place

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

7 years agodashdemux: Implement parsing of ISOBMFF boxes
Sebastian Dröge [Mon, 28 Mar 2016 10:45:36 +0000 (13:45 +0300)]
dashdemux: Implement parsing of ISOBMFF boxes

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

7 years agodash: Add helper for parsing box headers
Sebastian Dröge [Wed, 16 Mar 2016 11:48:09 +0000 (13:48 +0200)]
dash: Add helper for parsing box headers

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

7 years agox265enc: Enable aspect ratio
xlazom00 [Wed, 10 Aug 2016 22:50:12 +0000 (22:50 +0000)]
x265enc: Enable aspect ratio

x265 encoder need aspectRatioIdc == X265_EXTENDED_SAR if we want to use
sarWidth/sarHeight

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

7 years agoopenjpegenc: use the corrent enumeration
Josep Torra [Mon, 8 Aug 2016 11:10:12 +0000 (13:10 +0200)]
openjpegenc: use the corrent enumeration

Fixes the following error when building in osx.

error: implicit conversion from enumeration type
'GstJPEG2000Colorspace' to different enumeration type
'GstJPEG2000Sampling'

7 years agoamc: Fix call to realloc() to allocate the correct size of items
Sebastian Dröge [Mon, 8 Aug 2016 09:28:44 +0000 (11:28 +0200)]
amc: Fix call to realloc() to allocate the correct size of items

7 years agofdkaac: actually build and dist
Tim-Philipp Müller [Sun, 7 Aug 2016 19:53:30 +0000 (20:53 +0100)]
fdkaac: actually build and dist

7 years agohls, timecode: fix linking
xlazom00 [Sat, 6 Aug 2016 23:31:23 +0000 (23:31 +0000)]
hls, timecode: fix linking

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

7 years agofdkaac: Add FDK AAC based decoder element
Sebastian Dröge [Sun, 7 Aug 2016 09:20:16 +0000 (12:20 +0300)]
fdkaac: Add FDK AAC based decoder element

Missing is support for error concealment, etc.

7 years agofdkaac: Add FDK AAC based encoder element
Sebastian Dröge [Sun, 7 Aug 2016 08:39:07 +0000 (11:39 +0300)]
fdkaac: Add FDK AAC based encoder element

This currently only handles LC profile and exposes a bitrate property, but
handles up to 7.1 channels. See TODO list for missing features.

7 years agofdkaac: Initial plugin skeleton
Sebastian Dröge [Sun, 7 Aug 2016 05:51:06 +0000 (08:51 +0300)]
fdkaac: Initial plugin skeleton

7 years agoaiffparse: keep end_offset when seeking
Bernhard Miller [Mon, 1 Aug 2016 09:45:30 +0000 (11:45 +0200)]
aiffparse: keep end_offset when seeking

After seeking in aiff files the information about the data end offset is
discarded, leading to audio artifacts with metadata chunks at the end of
a file.
This patch retains the end offset information after a seek event.

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

7 years agodvdspu: don't crash if video frame could not be mapped
Tim-Philipp Müller [Sat, 6 Aug 2016 15:15:33 +0000 (16:15 +0100)]
dvdspu: don't crash if video frame could not be mapped

As might happen with e.g. vaapi and the test file from
https://bugzilla.gnome.org/show_bug.cgi?id=736227

7 years agoRevert "dashdemux: When doing SIDX seeking, return instead of overriding the timestam...
Edward Hervey [Fri, 5 Aug 2016 07:16:58 +0000 (09:16 +0200)]
Revert "dashdemux: When doing SIDX seeking, return instead of overriding the timestamp with 0 from the MPD seeking method"

This reverts commit 947656cfd22b75f914d5abe0af82396787f67564.

This makes all dash seeking tests fail. Needs more testing to fully understand
what's going wrong. Revert ok'd by Sebastian

7 years agotimecodewait: New element to wait for a specific timecode
Vivia Nikolaidou [Tue, 31 May 2016 16:21:17 +0000 (19:21 +0300)]
timecodewait: New element to wait for a specific timecode

timecodewait receives a timecode as an argument (either as string or as
GstVideoTimeCode - one is gst-launch-friendly and the other is code-friendly),
and it will drop all audio and video buffers until that timecode has been
reached.

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

7 years agotimecodestamper: New element to attach SMPTE timecode to buffers
Vivia Nikolaidou [Fri, 20 May 2016 15:17:52 +0000 (18:17 +0300)]
timecodestamper: New element to attach SMPTE timecode to buffers

The timecodestamper element attaches a SMPTE timecode to each video buffer.
This timecode corresponds to the current stream time.

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

7 years agodecklinkvideosink: Add support for GstVideoTimeCode
Vivia Nikolaidou [Sun, 15 May 2016 14:25:44 +0000 (17:25 +0300)]
decklinkvideosink: Add support for GstVideoTimeCode

The timecode will be fetched from the video buffer and outputted on the
decklink video sink.

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

7 years agodecklinkvideosrc: Add support for GstVideoTimeCode
Vivia Nikolaidou [Sun, 15 May 2016 13:04:14 +0000 (16:04 +0300)]
decklinkvideosrc: Add support for GstVideoTimeCode

The timecode will be fetched from the decklink source and attached to the
video buffer.

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

7 years agoglcolorconvert: add missing rgb16 and bgr16 video formats in switch
Matthew Waters [Thu, 4 Aug 2016 13:14:41 +0000 (23:14 +1000)]
glcolorconvert: add missing rgb16 and bgr16 video formats in switch

Fixes an assertion that code should not be reached

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

7 years agohls: Avoid potential NULL pointer dereference.
Jan Schmidt [Thu, 4 Aug 2016 12:28:13 +0000 (22:28 +1000)]
hls: Avoid potential NULL pointer dereference.

Fixes CID 1364753

7 years agohls: Avoid coverity warning about access off the end of an array.
Jan Schmidt [Thu, 4 Aug 2016 12:21:16 +0000 (22:21 +1000)]
hls: Avoid coverity warning about access off the end of an array.

Fixes CID 1364755

7 years agodashdemux: When doing SIDX seeking, return instead of overriding the timestamp with...
Sebastian Dröge [Thu, 4 Aug 2016 11:42:34 +0000 (14:42 +0300)]
dashdemux: When doing SIDX seeking, return instead of overriding the timestamp with 0 from the MPD seeking method

We don't need to call the latter at all as we're definitely in this period and
the segment is selected via the SIDX.

This is especially important when doing SNAP seeks, as otherwise we would
always start from the beginning of the period (usually 0) again.

7 years agohls: m3u8: remove impossible condition
Luis de Bethencourt [Thu, 4 Aug 2016 10:08:30 +0000 (11:08 +0100)]
hls: m3u8: remove impossible condition

After the check in line 1,111,  media->uri can't be NULL. So the two checks
for GST_HLS_MEDIA_TYPE_CLOSED_CAPTIONS are the same, removing the redundant
one which goes to cc_unsupported.

CID 1364752

7 years agohlsdemux: Don't output pending data after error
Jan Schmidt [Wed, 3 Aug 2016 18:53:50 +0000 (04:53 +1000)]
hlsdemux: Don't output pending data after error

If the last_ret status is not OK, skip output
of any pending PCR scan buffer, similarly to how
the pending decryption buffer is handled above.

7 years agoadaptivedemux: On EOS, handle it before waking download loop
Jan Schmidt [Wed, 3 Aug 2016 18:29:38 +0000 (04:29 +1000)]
adaptivedemux: On EOS, handle it before waking download loop

Otherwise, if the download loop wakes too quickly, it
might miss the last_ret value update from the processing
thread and loop again.

7 years agohlsdemux: Include config.h and add header in utils
Jan Schmidt [Wed, 3 Aug 2016 15:51:37 +0000 (01:51 +1000)]
hlsdemux: Include config.h and add header in utils

In gsthlsdemux-util.c, include config.h before any
other headers, and add a copyright / license header.

7 years agotsdemux: Fix draining on wrong programs
Edward Hervey [Wed, 13 Jul 2016 09:02:23 +0000 (11:02 +0200)]
tsdemux: Fix draining on wrong programs

When draining a program, we might send a newsegment event on the pads
that are going to be removed (and then the pending data).

In order to do that, calculate_and_push_newsegment() needs to know
what list of streams it should take into account (instead of blindly
using the current one).

All callers to calculate_and_push_newsegment() and push_pending_data()
can now specify the program on which to act (or NULL for the default
one).

7 years agotsdemux: Fix GAP synchronization without a valid PCR PID
Edward Hervey [Tue, 12 Jul 2016 13:58:40 +0000 (15:58 +0200)]
tsdemux: Fix GAP synchronization without a valid PCR PID

For streams that don't have a valid PCR PID, we just use the latest
PTS from any given stream.

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

7 years agotsdemux: handle pcr_pid == 0x1fff
Michael Olbrich [Tue, 31 May 2016 11:09:43 +0000 (13:09 +0200)]
tsdemux: handle pcr_pid == 0x1fff

Streams without PCR make senses in HLS, where the playlist timestamps
can be used to seek or calculate the duration.

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

7 years agompegtsdemux: do not abort playback when no PCR were found during initial scan
Arnaud Vrac [Sun, 10 May 2015 18:10:49 +0000 (20:10 +0200)]
mpegtsdemux: do not abort playback when no PCR were found during initial scan

Seeking will not be possible in those streams but at least the can be
played. Note scanning is only done when tsdemux is configured in pull mode.

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

7 years agompegtsdemux: only wait for PCR when PCR pid is set
Arnaud Vrac [Sat, 9 May 2015 13:52:22 +0000 (15:52 +0200)]
mpegtsdemux: only wait for PCR when PCR pid is set

Streams without PCR make senses in HLS, where the playlist timestamps
can be used to seek or calculate the duration.

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

7 years agohls: Fix compiler warning for possibly uninit variable
Jan Schmidt [Tue, 2 Aug 2016 18:18:18 +0000 (04:18 +1000)]
hls: Fix compiler warning for possibly uninit variable

7 years agohlsdemux: seek all streams
Michael Olbrich [Thu, 28 Jul 2016 12:22:02 +0000 (14:22 +0200)]
hlsdemux: seek all streams