platform/upstream/gstreamer.git
8 years agomotioncells: Remove unused includes
Luis de Bethencourt [Sat, 12 Dec 2015 19:13:42 +0000 (19:13 +0000)]
motioncells: Remove unused includes

8 years agorevert common submodule change
Matthew Waters [Fri, 11 Dec 2015 23:06:55 +0000 (10:06 +1100)]
revert common submodule change

8 years agogltransformation: clear to transparent
Matthew Waters [Fri, 11 Dec 2015 22:33:38 +0000 (09:33 +1100)]
gltransformation: clear to transparent

Otherwise composition will result in a black frame outside the transformed
video.

8 years agodirectsoundsrc: Check return values of DirectSound functions in read loop
Thomas Roos [Fri, 11 Dec 2015 10:39:08 +0000 (11:39 +0100)]
directsoundsrc: Check return values of DirectSound functions in read loop

Otherwise we might end up in an infinite loop because of errors.

Also take the element's mutex in unprepare().

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

8 years agomxfdemux: Only pre-set position for exactly the same essence track
Sebastian Dröge [Thu, 10 Dec 2015 10:47:17 +0000 (12:47 +0200)]
mxfdemux: Only pre-set position for exactly the same essence track

The edit rate is only supposed to be the same in a source package, but there
might be multiple source packages with the same essence container. As such
just comparing the body/index SID is not sufficient.

8 years agomxfdemux: Only pre-set the track position if it's for the same body/index SID
Sebastian Dröge [Thu, 10 Dec 2015 10:25:54 +0000 (12:25 +0200)]
mxfdemux: Only pre-set the track position if it's for the same body/index SID

8 years agolibgstgl: gstglcontext_cocoa: kCGLPFAStereo has been deprecated in 10.11
Alessandro Decina [Thu, 10 Dec 2015 03:41:44 +0000 (14:41 +1100)]
libgstgl: gstglcontext_cocoa: kCGLPFAStereo has been deprecated in 10.11

Also since the version scheme has changed (to include the micro number) since
10.10, use the MAC_OS_X_VERSION_* macro to avoid confusion.

8 years agoglbufferpool: relax check for multiple texture targets
Alessandro Decina [Thu, 10 Dec 2015 01:41:00 +0000 (12:41 +1100)]
glbufferpool: relax check for multiple texture targets

Only complain about multiple texture targets when _different_ texture targets
are configured.

8 years agoglmemory: take subsampling into account for rectangle textures
Alessandro Decina [Thu, 10 Dec 2015 01:33:52 +0000 (12:33 +1100)]
glmemory: take subsampling into account for rectangle textures

Rectangle textures don't use normalized coordinates so subsampling needs to be
factored in explicitly.

Fixes YUV => RGB conversion for rectangle textures.

8 years agomxfdemux: Only access the index table if it has enough elements
Sebastian Dröge [Wed, 9 Dec 2015 14:55:00 +0000 (16:55 +0200)]
mxfdemux: Only access the index table if it has enough elements

8 years agomxfdemux: Use keyframe information from index table segments if available
Sebastian Dröge [Wed, 9 Dec 2015 14:28:53 +0000 (16:28 +0200)]
mxfdemux: Use keyframe information from index table segments if available

We don't implement keyframe detection for all codecs and this will allow us to
implement better seeking.

8 years agomxfdemux: Collect all index table segments after finding the random index pack
Sebastian Dröge [Wed, 9 Dec 2015 14:31:19 +0000 (16:31 +0200)]
mxfdemux: Collect all index table segments after finding the random index pack

That way we always have the index table information available, especially the
keyframe-ness of all buffers.

8 years agomxfdemux: Fix handling of IndexTableSegments
Sebastian Dröge [Tue, 8 Dec 2015 16:15:55 +0000 (18:15 +0200)]
mxfdemux: Fix handling of IndexTableSegments

This was completely broken before and could only work on a very constrained
set of files. After these changes it should work except for situations where
PTS != DTS, which is not handled at all in mxfdemux currently.

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

8 years agoadaptivedemux: avoid pushing events with manifest lock
Thiago Santos [Tue, 8 Dec 2015 17:06:21 +0000 (14:06 -0300)]
adaptivedemux: avoid pushing events with manifest lock

It can be an easy source of deadlocks. Reproducible with very
fast connections (local server).

8 years agomxftypes: Fix parsing of index table segments
Sebastian Dröge [Tue, 8 Dec 2015 18:24:45 +0000 (20:24 +0200)]
mxftypes: Fix parsing of index table segments

8 years agomxfmux: Handle aggregation with NULL buffers without crashing
Sebastian Dröge [Tue, 8 Dec 2015 16:23:02 +0000 (18:23 +0200)]
mxfmux: Handle aggregation with NULL buffers without crashing

8 years agomxfmux: Add FIXME about enforcing that all tracks in a source package have the same...
Sebastian Dröge [Tue, 8 Dec 2015 14:45:33 +0000 (16:45 +0200)]
mxfmux: Add FIXME about enforcing that all tracks in a source package have the same edit rate

The standard requires this and also the index table segments are not going to
work otherwise.

8 years agomxfmux: Write index table segments
Sebastian Dröge [Mon, 7 Dec 2015 18:27:23 +0000 (20:27 +0200)]
mxfmux: Write index table segments

But only for the first essence track, and once for every keyframe every 2
seconds.

8 years agomxfmetadata: Fix static local tag for index sid
Sebastian Dröge [Mon, 7 Dec 2015 18:26:17 +0000 (20:26 +0200)]
mxfmetadata: Fix static local tag for index sid

8 years agomxftypes: Add function to serialize an index table segment to a buffer
Sebastian Dröge [Mon, 7 Dec 2015 17:34:25 +0000 (19:34 +0200)]
mxftypes: Add function to serialize an index table segment to a buffer

8 years agomxfmux: Index table segments must not use the primer pack
Sebastian Dröge [Mon, 7 Dec 2015 16:59:36 +0000 (18:59 +0200)]
mxfmux: Index table segments must not use the primer pack

According to S377-1-2009c 9.2 the local tags must not be resolved from the
primer pack, which as a result means that there can't be any other tags than
statically assigned ones.

8 years agohlsdemux: add support for seeking to fragment boundaries
Duncan Palmer [Mon, 7 Dec 2015 04:10:30 +0000 (14:10 +1000)]
hlsdemux: add support for seeking to fragment boundaries

Setting the seek flags to GST_SEEK_FLAG_SNAP_* will change the seek
target time to a segment boundary.

Based on original work by Ben Willers <bwillers@digisoft.tv>.

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

8 years agodash: Fix unit test after moving of framerates to RepresentationBaseType
Sebastian Dröge [Tue, 8 Dec 2015 07:53:11 +0000 (09:53 +0200)]
dash: Fix unit test after moving of framerates to RepresentationBaseType

8 years agodashdemux: Suggestion for setting the framerate information.
suhwang.kim [Tue, 8 Dec 2015 00:33:39 +0000 (09:33 +0900)]
dashdemux: Suggestion for setting the framerate information.

Dashdemux has set the width and height information from MPD manifest.
Some embedded devices which are not insufficient H/W resources need more information such as framerate
to assign H/W resources. So I suggested that dashdemux also needs to set the framerate information from MDP manifest.

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

8 years agodashdemux: maxFrameRate & minFrameRate should be in RepresentationBase.
suhwang.kim [Tue, 8 Dec 2015 00:23:22 +0000 (09:23 +0900)]
dashdemux: maxFrameRate & minFrameRate should be in RepresentationBase.

According to the spec, they can be in AdaptationSet, Representation and SubRepresentation.
So They should be in RepresentationBase.

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

8 years agoglproto: include function definitions for GL_APPLE_sync
Matthew Waters [Tue, 8 Dec 2015 05:35:45 +0000 (16:35 +1100)]
glproto: include function definitions for GL_APPLE_sync

Provides a performance improvement on iOS where we were falling back to glFinish
on settting sync points.

8 years agoopenjpegenc: All frames in JPEG2000 are keyframes, mark them as such
Sebastian Dröge [Mon, 7 Dec 2015 18:34:10 +0000 (20:34 +0200)]
openjpegenc: All frames in JPEG2000 are keyframes, mark them as such

8 years agoAutomatic update of common submodule
Nicolas Dufresne [Mon, 7 Dec 2015 14:08:15 +0000 (09:08 -0500)]
Automatic update of common submodule

From b319909 to 86e4663

8 years agomxfmux: Remove more dead code
Edward Hervey [Mon, 7 Dec 2015 12:48:12 +0000 (13:48 +0100)]
mxfmux: Remove more dead code

Coverity CID #1328818

8 years agoteletextdec: Fix leak and NULL pointer usage
Edward Hervey [Mon, 7 Dec 2015 12:36:29 +0000 (13:36 +0100)]
teletextdec: Fix leak and NULL pointer usage

Coverity CID #1341744

8 years agoteletextdec: Remove dead code
Edward Hervey [Mon, 7 Dec 2015 10:56:09 +0000 (11:56 +0100)]
teletextdec: Remove dead code

++i in a for() loop results in the loop never being executed more than once

Coverity CID #1341748
Coverity CID #1341743

8 years agoacm: Port ACM MP3 decoder and encoders to GStreamer 1.x
Frédéric Wang [Thu, 12 Mar 2015 11:29:00 +0000 (11:29 +0000)]
acm: Port ACM MP3 decoder and encoders to GStreamer 1.x

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

8 years agoport teletextdec to 1.0
Daniel Kamil Kozar [Thu, 24 Sep 2015 15:40:02 +0000 (17:40 +0200)]
port teletextdec to 1.0

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

8 years agoh26xparse: Resend PPS/SPS after seek
Nicolas Dufresne [Wed, 2 Dec 2015 23:28:15 +0000 (18:28 -0500)]
h26xparse: Resend PPS/SPS after seek

This is to support byte-stream decoder that does not remember the
PPS/SPS after a flush. This is not needed by all decoders, but is
harmless for those that do remember.

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

8 years agoglupload: Only offer custom allocator with caps features
Nicolas Dufresne [Tue, 1 Dec 2015 23:09:25 +0000 (18:09 -0500)]
glupload: Only offer custom allocator with caps features

To use GLMemory and EGLImage allocators, one need to know the
libgstgl API. This is only expected if the associated caps features
have been negotiated. Generic element that otherwise receive those
allocators may fail, resulting in broken pieline. We don't want to
force all generic element to check if the allocator is a custom
allocator or a normal allocator (which implement the _alloc method).

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

8 years agomxfmux: Don't copy input buffers, just append them to the header
Sebastian Dröge [Fri, 4 Dec 2015 16:05:58 +0000 (18:05 +0200)]
mxfmux: Don't copy input buffers, just append them to the header

8 years agohlsdemux: Resync live playlists to the 3rd newest fragment if we fall off the playlist
Sebastian Dröge [Thu, 3 Dec 2015 09:46:10 +0000 (11:46 +0200)]
hlsdemux: Resync live playlists to the 3rd newest fragment if we fall off the playlist

As HLS does not provide any way of knowing the server's clock, and we do
buffering of "live" streams, at some point we will fall behind the server in
many cases and would have to advance to a fragment that is not in the playlist
anymore.

Previously we would've just resynced to the next oldest fragment that is still
there, but this causes problems as from this point onwards we would always
fall off the playlist again all the time.
Instead we now resync and move to the 3rd newest fragment like we would do
when starting playback of a live stream.

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

8 years agohls: m3u8: remove superfluous gst_m3u8_copy() implementation
Tim-Philipp Müller [Thu, 3 Dec 2015 18:21:50 +0000 (18:21 +0000)]
hls: m3u8: remove superfluous gst_m3u8_copy() implementation

No need to implement _copy() when we just copy a list that
we're freeing three lines later anyway. Instead just steal
the new main list.

8 years agoadaptivedemux: Log PTS of buffers that are pushed downstream
Sebastian Dröge [Thu, 3 Dec 2015 08:08:05 +0000 (10:08 +0200)]
adaptivedemux: Log PTS of buffers that are pushed downstream

8 years agotsdemux: Expose DVB Subpicture as subpictures
Edward Hervey [Tue, 20 Oct 2015 07:49:16 +0000 (09:49 +0200)]
tsdemux: Expose DVB Subpicture as subpictures

For some reason we were considering them as private data.

8 years agotsdemux: Push GAP events *after* deactivating old programs
Edward Hervey [Tue, 20 Oct 2015 15:22:23 +0000 (17:22 +0200)]
tsdemux: Push GAP events *after* deactivating old programs

The order in which program switch must happen is:
1) drain all data on old pads (but don't push EOS)
2) add new pads (but don't push any data on them)
3) Push EOS and remove old pads
4) Start pushing data on new pads

There was one caveat in this implementation, which is that when
we activate a sparse pad (step 2) we would push a GAP event. The problem
is that, while being an event, it is actually *data*.

We therefore need to make sure pushing those GAP event is done at the step
we start pushing data.

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

8 years agotsdemux: Make sure old streams are drained before switching
Edward Hervey [Tue, 15 Sep 2015 16:20:38 +0000 (18:20 +0200)]
tsdemux: Make sure old streams are drained before switching

Before we add any streams, make sure we drain all streams. This ensures
there's consistency that only "new" data will be pushed on buffers once
the new pads are added

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

8 years agompegtsdemux: Allow deactivation of programs to be delayed
Edward Hervey [Thu, 10 Sep 2015 12:55:05 +0000 (14:55 +0200)]
mpegtsdemux: Allow deactivation of programs to be delayed

When changing programs, the order of events needs to be the following:
* add pads from new program
* send EOS on old pads
* remove old pads
* emit 'no-more-pads'

Previously tsdemux was not doing that, and was first deactivating and
removing old pads before adding new ones.

We fix this by allowing subclasses of mpegtsbase to be able to handle
themselves the deactivation of programs. In this case tsdemux will
properly deactivate it once it has activated the new program.

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

8 years agohlsdemux: update current variant if connection speed is set
Maroš Ondrášek [Wed, 2 Dec 2015 10:01:53 +0000 (11:01 +0100)]
hlsdemux: update current variant if connection speed is set

If connection speed is set, playlist according
to connection speed is selected as current playlist.

Problem is that the current variant of main playlist still
points to previously set variant.
If previously set variant doesn't correspond to current
playlist, then it causes unnecessary change of playlist
to the same playlist after first fragment is downloaded,
because of not updated current variant.

To fix this, we need to make sure that current variant
of main playlist corresponds to the current playlist

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

8 years agovideoframe-audiolevel: Fix compilation of static plugin and some compiler warnings
Sebastian Dröge [Wed, 2 Dec 2015 12:35:22 +0000 (14:35 +0200)]
videoframe-audiolevel: Fix compilation of static plugin and some compiler warnings

Use G_GSIZE_FORMAT for gsize instead of %ld and make sure that the plugin name
is a valid C identifier, i.e. contains no spaces or dashes.

8 years agoglcolorconvert: improve the YUY2/UYVY->RGBA conversion shader
Matthew Waters [Wed, 2 Dec 2015 11:42:39 +0000 (22:42 +1100)]
glcolorconvert: improve the YUY2/UYVY->RGBA conversion shader

Don't offset the y-axis.  We only need to offset on the x-axis.

Removes a sawtooth pattern on horizontal and vertical edges.

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

8 years agoglcolorconvert: improve RGBA->YUY2/UYVY conversion shader
Matthew Waters [Wed, 2 Dec 2015 11:40:06 +0000 (22:40 +1100)]
glcolorconvert: improve RGBA->YUY2/UYVY conversion shader

We should only average the chroma samples not the luma sample.

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

8 years agohlsdemux: Tell the base class the fragment duration
Jan Schmidt [Tue, 10 Nov 2015 16:55:27 +0000 (03:55 +1100)]
hlsdemux: Tell the base class the fragment duration

adaptivedemux uses the fragment duration as a delay
in some cases, so make sure to set it.

8 years agoadaptivedemux: Send the bitrate of the stream as a tag
Jan Schmidt [Tue, 10 Nov 2015 16:54:51 +0000 (03:54 +1100)]
adaptivedemux: Send the bitrate of the stream as a tag

If we know or can measure the nominal bitrate of a stream,
send that info as a tag downstream

8 years agohlsdemux: When switching bitrate variants, don't jump back
Jan Schmidt [Sat, 7 Nov 2015 14:34:30 +0000 (01:34 +1100)]
hlsdemux: When switching bitrate variants, don't jump back

Don't jump backward to 3 files from the end of the playlist
when switching variants - it just means we downloaded
fragments fast and caught up to the end of the playlist.

Disable that by treating a variant switch as a playlist
update, not a restart due to a seek or so.

8 years agoalevel: New audio/video level element
Vivia Nikolaidou [Tue, 21 Apr 2015 18:09:19 +0000 (21:09 +0300)]
alevel: New audio/video level element

The videoframe-audiolevel element acts like a synchronized audio/video "level"
element. For each video frame, it posts a level-style message containing the
RMS value of the corresponding audio frames. This element needs both video and
audio to pass through it. Furthermore, it needs a queue after its video
source.

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

8 years agoDrop usage of deprecated g-ir-scanner --strip-prefix flag
Reynaldo H. Verdejo Pinochet [Wed, 2 Dec 2015 07:20:45 +0000 (23:20 -0800)]
Drop usage of deprecated g-ir-scanner --strip-prefix flag

8 years agohlsdemux: correct the calculation of seek range of non-live streams
Alex Ashley [Tue, 10 Nov 2015 16:19:34 +0000 (16:19 +0000)]
hlsdemux: correct the calculation of seek range of non-live streams

The seek range calculation for on-demand streams was incorrectly
excluding the last three segments of the stream. This three segment
rule should only be applied to live streams [1].

[1] https://tools.ietf.org/html/draft-pantos-http-live-streaming-17#section-6.3.3

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

8 years agopcapparse: Forward FLUSH_STOP events downstream too
Paolo Pettinato [Tue, 1 Dec 2015 17:52:03 +0000 (17:52 +0000)]
pcapparse: Forward FLUSH_STOP events downstream too

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

8 years agohlsdemux: fix crash when decryption key can't be downloaded
Tim-Philipp Müller [Sun, 29 Nov 2015 01:02:15 +0000 (01:02 +0000)]
hlsdemux: fix crash when decryption key can't be downloaded

Happened with
http://sslhls.m6tv.cdn.sfr.net/hls-live/livepkgr/_definst_/m6_hls_aes/m6_hls_aes_856.m3u8
if glib-networking was not installed (since key has https uri).

8 years agohls: m3u8: remove pointless client_has_main() function
Tim-Philipp Müller [Mon, 30 Nov 2015 11:05:38 +0000 (11:05 +0000)]
hls: m3u8: remove pointless client_has_main() function

We always have a main list.

8 years agohls: m3u8: remove unused _get_current_fragment_duration() function
Tim-Philipp Müller [Sat, 28 Nov 2015 00:12:04 +0000 (00:12 +0000)]
hls: m3u8: remove unused _get_current_fragment_duration() function

8 years agohls: m3u8: remove unused m3u8 client update_failed_count field
Tim-Philipp Müller [Fri, 27 Nov 2015 19:21:22 +0000 (19:21 +0000)]
hls: m3u8: remove unused m3u8 client update_failed_count field

8 years agohls: m3u8: remove helper var that's only used during parsing from structure
Tim-Philipp Müller [Sun, 15 Nov 2015 17:31:05 +0000 (17:31 +0000)]
hls: m3u8: remove helper var that's only used during parsing from structure

Just keep that local to the parsing function.

8 years agohls: rename plugin from fragmented to hls
Tim-Philipp Müller [Sun, 1 Nov 2015 13:21:45 +0000 (13:21 +0000)]
hls: rename plugin from fragmented to hls

8 years agohlsdemux: Always give timestamps if we're discont and don't mark stream discont if...
Sebastian Dröge [Tue, 1 Dec 2015 17:44:36 +0000 (19:44 +0200)]
hlsdemux: Always give timestamps if we're discont and don't mark stream discont if a playlist change was not successful

If the stream is discont, we must provide a timestamp in any case. Elements
like tsdemux are not going to output anything if we give a NONE timestamp
after a discont.

Also marking a stream as discont if a playlist change was not successful would
lead to the above situation, but in that case we are not required at all to
mark the stream discont as we're still at the old playlist.

8 years agotsmux: fix wrong log message level
Tim-Philipp Müller [Tue, 1 Dec 2015 17:06:33 +0000 (17:06 +0000)]
tsmux: fix wrong log message level

ERROR level is debugging left-over.

8 years agotests:aggregator: fix tc failure and correct check value
Hyunjun Ko [Mon, 9 Nov 2015 07:08:30 +0000 (16:08 +0900)]
tests:aggregator: fix tc failure and correct check value

Failure by this commit 2dfa548f3645844082c3db65d96d87255701b3ad, which is
to append hooks instead of prepend.
Because of this change, aggretated_cb is not called and leads to failure.

And correct to check flush stop value instead of flush start value

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

8 years agod3dvideosink: Don't try to recreate swapchain while the window is minimized
Sebastian Dröge [Mon, 30 Nov 2015 17:53:28 +0000 (19:53 +0200)]
d3dvideosink: Don't try to recreate swapchain while the window is minimized

It will fail and cause the sink to crash. Instead wait until the window is
visible again before checking if the swapchain really has to be recreated.

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

8 years agoopusparse: remove unneeded statement
Luis de Bethencourt [Fri, 27 Nov 2015 18:46:56 +0000 (18:46 +0000)]
opusparse: remove unneeded statement

commit da5c41930c4083979b1745f4d8848d97fe03d8eb removed the two uses of the
new value of data:
  channels = opus_packet_get_nb_channels (data);
  bandwidth = opus_packet_get_bandwidth (data);

Since then, data isn't being used between incrementing it by packet_offset
and going out of scope. Removing this uneeded statement.

8 years agotests: id3mux: add unit test for GST_TAG_PRIVATE_DATA writing
Tim-Philipp Müller [Fri, 27 Nov 2015 12:44:57 +0000 (12:44 +0000)]
tests: id3mux: add unit test for GST_TAG_PRIVATE_DATA writing

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

8 years agoid3mux: write private data tag
Ravi Kiran K N [Fri, 27 Nov 2015 06:03:07 +0000 (11:33 +0530)]
id3mux: write private data tag

Handle "PRIV" tag in id3mux. Write owner
identifier and private data and add to the
id3v2 frame.

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

8 years agoandroidmedia: Don't add metadata to locked buffer
Mathias Hasselmann [Thu, 26 Nov 2015 09:15:36 +0000 (10:15 +0100)]
androidmedia: Don't add metadata to locked buffer

The video decoders tried calling gst_buffer_add_*meta() on non-writable
buffer resulting in warnings of this kind:

  gstamcvideodec.c:921 (_gl_sync_render_unlocked): WARNING: amcvideodec
  Failed to create the transformation meta for the gl_sync 0xabc03848
  buffer 0xabb01b40 (0)

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

8 years agoadaptivedemux: tests: disabled testFragmentDownloadError test
Florin Apostol [Mon, 9 Nov 2015 18:07:30 +0000 (18:07 +0000)]
adaptivedemux: tests: disabled testFragmentDownloadError test

Until we will have support to control the generating thread from
fakeHTTPsrc element, the test testFragmentDownloadError is disabled.

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

8 years agoadaptivedemux: tests: corrected access to fakeHTTPsrc element
Florin Apostol [Mon, 9 Nov 2015 14:14:34 +0000 (14:14 +0000)]
adaptivedemux: tests: corrected access to fakeHTTPsrc element

The src element for adaptivedemux is now a bin. Updated the tests to
correctly reach into the bin and get the fakeHTTPsrc element

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

8 years agoadaptivedemux: tests: made fakeHTTPsrc element MT safe
Florin Apostol [Mon, 9 Nov 2015 14:13:04 +0000 (14:13 +0000)]
adaptivedemux: tests: made fakeHTTPsrc element MT safe

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

8 years agospu-pgs: Fix array memory leak
Vineeth T M [Mon, 23 Nov 2015 02:32:13 +0000 (11:32 +0900)]
spu-pgs: Fix array memory leak

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

8 years agoaudiomixer: register function name for debugging just once
Tim-Philipp Müller [Tue, 24 Nov 2015 00:20:36 +0000 (00:20 +0000)]
audiomixer: register function name for debugging just once

Not every time aggregate is called...

8 years agompdparser: remove gst_mpd_client_check_time_position
Florin Apostol [Tue, 24 Nov 2015 12:42:45 +0000 (12:42 +0000)]
mpdparser: remove gst_mpd_client_check_time_position

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

8 years agomssdemux: add depth field to audio caps if available
Maroš Ondrášek [Tue, 24 Nov 2015 10:50:51 +0000 (11:50 +0100)]
mssdemux: add depth field to audio caps if available

depth field can be retrieved from "BitsPerSample" or
from "WaveFormatEx" structure, if provided in Manifest

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

8 years agompdparser: tests: added test for fraction of seconds in availabilityStartTime
Florin Apostol [Fri, 20 Nov 2015 16:35:43 +0000 (16:35 +0000)]
mpdparser: tests: added test for fraction of seconds in availabilityStartTime

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

8 years agompdparser: added support for parsing fraction of seconds in dateTime fields
Florin Apostol [Fri, 20 Nov 2015 16:36:00 +0000 (16:36 +0000)]
mpdparser: added support for parsing fraction of seconds in dateTime fields

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

8 years agotests: put the waylandsink example window.ui file in EXTRA_DIST
George Kiagiadakis [Sun, 22 Nov 2015 12:11:48 +0000 (13:11 +0100)]
tests: put the waylandsink example window.ui file in EXTRA_DIST

8 years agotests: fix linking waylandsink example with the gstwayland library
George Kiagiadakis [Sun, 22 Nov 2015 12:08:35 +0000 (13:08 +0100)]
tests: fix linking waylandsink example with the gstwayland library

First, use top_builddir, otherwise it fails in out-of-source builds.
Second, link to the libtool archive directly to let make understand
the dependency.

8 years agodashdemux: always set presentationTimeOffset
Thiago Santos [Fri, 20 Nov 2015 23:59:16 +0000 (20:59 -0300)]
dashdemux: always set presentationTimeOffset

Set it for all types of segment lists (templates / lists / base)
and not only for templates.

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

8 years agomxfmux: Error out if we get a timeout during live mixing
Sebastian Dröge [Fri, 20 Nov 2015 15:50:30 +0000 (17:50 +0200)]
mxfmux: Error out if we get a timeout during live mixing

We can't handle that but need complete streams without gaps.

8 years agomxfmpeg: Use the correct sound essence compression UL for MP3
Sebastian Dröge [Fri, 20 Nov 2015 15:46:53 +0000 (17:46 +0200)]
mxfmpeg: Use the correct sound essence compression UL for MP3

There's one for MPEG 1 Layer 1 and one for Layer 2 and 3. We previously
had the second for Layer 1 and 2 and nothing for Layer 3, which was wrong.

8 years agomxfmpeg: Set the essence container UL byte 13 to 0x10 for h264
Sebastian Dröge [Fri, 20 Nov 2015 15:34:22 +0000 (17:34 +0200)]
mxfmpeg: Set the essence container UL byte 13 to 0x10 for h264

0x04 signifies a MPEG elementary stream but according to RP2008, 0x10 should
be used for a h264 byte-stream. This also fixes compatibility of our files
with ffmpeg.

8 years agoqml: reuse existing GstQSGTexture
Roman Nowicki [Fri, 20 Nov 2015 00:18:43 +0000 (11:18 +1100)]
qml: reuse existing GstQSGTexture

Fixes a memory leak leaking the texture objects.

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

8 years agoqml: activate the wrapped context when binding
Matthew Waters [Fri, 20 Nov 2015 00:08:37 +0000 (11:08 +1100)]
qml: activate the wrapped context when binding

Mitigates the following critical

gst_gl_context_thread_add: assertion 'context->priv->active_thread == g_thread_self ()' failed

8 years agoqml: proper initialization if scene is already initialized
Roman Nowicki [Thu, 19 Nov 2015 10:55:19 +0000 (11:55 +0100)]
qml: proper initialization if scene is already initialized

The scene graph can be initialized when the we receive window handle change
notification and so we will not receive a scenegraph initialization
notification.  Initialize ourself in this case.

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

8 years agodashdemux: Add binary search for stream_sidx_seek
Jimmy Ohn [Wed, 29 Jul 2015 13:31:30 +0000 (22:31 +0900)]
dashdemux: Add binary search for stream_sidx_seek

Add binary search to optimize in stream_sidx_seek.

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

8 years agompdparser: remove unused functions gst_mpdparser_get_chunk_by_index and gst_mpdparser...
Florin Apostol [Thu, 19 Nov 2015 15:59:56 +0000 (15:59 +0000)]
mpdparser: remove unused functions gst_mpdparser_get_chunk_by_index and gst_mpdparser_find_segment_by_index

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

8 years agodocs: update gst-launch-0.10 lines
Luis de Bethencourt [Thu, 19 Nov 2015 17:24:53 +0000 (17:24 +0000)]
docs: update gst-launch-0.10 lines

Update references to gst-launch-0.10 to gst-launch-1.0

8 years agoamcvideodec: move release_output_buffer into the sync meta
Matthew Waters [Wed, 18 Nov 2015 23:32:03 +0000 (10:32 +1100)]
amcvideodec: move release_output_buffer into the sync meta

Some devices only ever keep one buffer available in the GL queue resulting in
multiple calls to release_output_buffer only causing one frame to be rendered.
If there is a queue after amcvideodec (even playsink's small one), then
multiple buffers are pushed but only a small fraction of them are actually
rendered on time.  The rest will either render some number of frames ahead of
where they are meant to be or timeout waiting for a frame that's already been
rendered.

Solved by moving the release_output_buffer into the sync_meta the is pushed
downstream.  When downstream renders, the custom sync implementation attempts
to release the current buffer (if not already released) and render. Once the
frame has been rendered to the screen, the next frame is released and is
hopefully available by the time the next frame is to be rendered.

This fixes a perceived frame jitter in the output.

8 years agoRemove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Tue, 17 Nov 2015 23:23:17 +0000 (15:23 -0800)]
Remove unnecessary NULL checks before g_free()

g_free() is NULL-safe

8 years agompdparser: Also allow '/' in RepresentationID
Sebastian Dröge [Wed, 11 Nov 2015 15:11:14 +0000 (16:11 +0100)]
mpdparser: Also allow '/' in RepresentationID

Used by http://www.bok.net/dash/tears_of_steel/cleartext/stream.mpd

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

8 years agotests/examples: add a waylandsink example
George Kiagiadakis [Mon, 26 Oct 2015 15:24:40 +0000 (16:24 +0100)]
tests/examples: add a waylandsink example

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

8 years agowaylandsink: call gst_video_sink_center_rect with a destination rectangle that starts...
George Kiagiadakis [Wed, 18 Nov 2015 11:56:06 +0000 (12:56 +0100)]
waylandsink: call gst_video_sink_center_rect with a destination rectangle that starts from (0,0)

The intention of this code is to find the center rectangle relative
to (0,0), since subsurface coordinates are relative to the parent
surface.

The old code used to work but was wrong and broken by
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/gst-libs/gst/video/gstvideosink.c?id=ff57f6913456ec1991e55517cf1f239e80eeddef

8 years agodashdemux: fixed illegal memory access in gst_mpd_client_get_last_fragment_timestamp_end
Florin Apostol [Mon, 16 Nov 2015 17:25:34 +0000 (17:25 +0000)]
dashdemux: fixed illegal memory access in gst_mpd_client_get_last_fragment_timestamp_end

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

8 years agompdparser: tests: added test for gst_mpd_client_get_last_fragment_timestamp_end
Florin Apostol [Mon, 16 Nov 2015 17:25:21 +0000 (17:25 +0000)]
mpdparser: tests: added test for gst_mpd_client_get_last_fragment_timestamp_end

The timestamp for last fragment is incorrectly retrieved if segment templates
are used.

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

8 years agoamcvideodec: Don't require a non-zero buffer size when doing decoding to a surface
Sebastian Dröge [Tue, 17 Nov 2015 14:21:44 +0000 (16:21 +0200)]
amcvideodec: Don't require a non-zero buffer size when doing decoding to a surface

At least on some devices/Android versions the buffer size will always be zero
in these cases.

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

8 years agoglimagesink: Remove unused variable
Sebastian Dröge [Tue, 17 Nov 2015 15:17:50 +0000 (17:17 +0200)]
glimagesink: Remove unused variable

gstglimagesink.c: In function 'gst_glimage_sink_on_draw':
gstglimagesink.c:1959:18: error: unused variable 'sync_meta' [-Werror=unused-variable]
   GstGLSyncMeta *sync_meta = NULL;
                  ^

8 years agoglviewconvert: String literals are const
Sebastian Dröge [Tue, 17 Nov 2015 15:09:51 +0000 (17:09 +0200)]
glviewconvert: String literals are const

gstglviewconvert.c: In function '_mangle_extensions':
gstglviewconvert.c:1511:13: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
     ext_str = "#extension GL_OES_EGL_image_external : require\n";
             ^

8 years agoglsyncmeta: Actually return the newly created meta from gst_buffer_add_gl_sync_meta()
Sebastian Dröge [Tue, 17 Nov 2015 15:08:14 +0000 (17:08 +0200)]
glsyncmeta: Actually return the newly created meta from gst_buffer_add_gl_sync_meta()

gstglsyncmeta.c  -fPIC -DPIC -o .libs/libgstgl_1.0_la-gstglsyncmeta.o
gstglsyncmeta.c: In function 'gst_buffer_add_gl_sync_meta':
gstglsyncmeta.c:131:1: error: control reaches end of non-void function [-Werror=return-type]
 }
 ^