platform/upstream/gstreamer.git
9 years agogl/dispmanx: fix build
Philippe Normand [Tue, 27 Jan 2015 10:25:53 +0000 (11:25 +0100)]
gl/dispmanx: fix build

Commit ab48bb6f0f55091662e595a001e178154ce60cdb changed the API of
GstGLWindow.

9 years agoglmemory: more compatibility defines for gles2 systems
Matthew Waters [Tue, 27 Jan 2015 03:52:47 +0000 (14:52 +1100)]
glmemory: more compatibility defines for gles2 systems

9 years agoglmemory: add some thread safety for gl operations
Matthew Waters [Tue, 27 Jan 2015 01:15:43 +0000 (12:15 +1100)]
glmemory: add some thread safety for gl operations

9 years agoglmemory: use pbo's for download
Matthew Waters [Tue, 27 Jan 2015 00:53:51 +0000 (11:53 +1100)]
glmemory: use pbo's for download

In order to use pbo's efficiently, the transfer operation has to
be separated from the use of the downloaded data which requires some
rearchitecturing around glcolorconvert/gldownload and elements

9 years agoglprototypes: add some (un)map buffer variants for GL/GLES
Matthew Waters [Tue, 27 Jan 2015 00:04:07 +0000 (11:04 +1100)]
glprototypes: add some (un)map buffer variants for GL/GLES

9 years agodashdemux: use audio_%02u and video_%02u names for pads
Thiago Santos [Mon, 26 Jan 2015 20:51:22 +0000 (17:51 -0300)]
dashdemux: use audio_%02u and video_%02u names for pads

Instead of using the default ghostpad%u naming. The audio_/video_
names are more common in demuxers

9 years agodecklinkaudiosrc: Release the audio input on errors, not the video input
Sebastian Dröge [Mon, 26 Jan 2015 14:33:23 +0000 (15:33 +0100)]
decklinkaudiosrc: Release the audio input on errors, not the video input

9 years agoaiffparse: remove unnecessary variable
Luis de Bethencourt [Mon, 26 Jan 2015 13:46:44 +0000 (13:46 +0000)]
aiffparse: remove unnecessary variable

The bps variable is declared with value aiff->bps, read once and never written.
aiff->bps can be used directly instead.

9 years agoaiffparse: fix which stop variable is used in assignment
Luis de Bethencourt [Mon, 26 Jan 2015 12:49:45 +0000 (12:49 +0000)]
aiffparse: fix which stop variable is used in assignment

Assignment is done to variable segment.stop when the intention was to assign to
local variable stop. Instead of overwriting it, the value is now clamped and
segment.stop is set to it soon after.

CID #1265772

9 years agovideoaggregator: fix crash when receiving buffer without timestamps
Tim-Philipp Müller [Mon, 26 Jan 2015 09:22:23 +0000 (09:22 +0000)]
videoaggregator: fix crash when receiving buffer without timestamps

Unset out buffer in clip function when we unref the buffer to be
clipped, otherwise aggregator will continue to use the already-
freed buffer. Fixes crash when buffers without timestamps are
being fed to aggregator. Partly because aggregator ignores the
error flow return.

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

9 years agoRemove unported directdraw plugin
Tim-Philipp Müller [Sun, 18 Jan 2015 18:05:31 +0000 (18:05 +0000)]
Remove unported directdraw plugin

This API has been deprecated for eternities and microsoft
stopped shipping the headers in 2010 accoding to wikipedia,
so let's just remove it and focus on bringing the plugins
based on the newer APIs up to snuff.

9 years agoaiffmux: write padding byte at end of SSND chunk if needed
Matthieu Bouron [Wed, 26 Mar 2014 17:43:33 +0000 (17:43 +0000)]
aiffmux: write padding byte at end of SSND chunk if needed

AIFF chunks are supposed to be even aligned.

Aligning the SSND chunk will allow the aiff muxer to properly write
chunks (like the ID3 one) at the end of the file.

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

9 years agowaylandsink: Free leaked GstStructure
Edward Hervey [Fri, 23 Jan 2015 11:44:22 +0000 (12:44 +0100)]
waylandsink: Free leaked GstStructure

Coverity CID : 1256565

9 years agogltestsrc: Ensure variable is initialized before usage
Edward Hervey [Fri, 23 Jan 2015 11:41:29 +0000 (12:41 +0100)]
gltestsrc: Ensure variable is initialized before usage

Coverity CID: 1256569

9 years agocodecparsers: Indent file
Edward Hervey [Fri, 23 Jan 2015 11:26:16 +0000 (12:26 +0100)]
codecparsers: Indent file

Someone's been commiting without using gst-indent :)

9 years agocodecparsers: Add READ_UE_MAX macro
Edward Hervey [Fri, 23 Jan 2015 11:24:52 +0000 (12:24 +0100)]
codecparsers: Add READ_UE_MAX macro

READ_UE_ALLOWED was almost exclusively used with min == 0, which doesn't
make much point for unsigned integers.

Add a READ_UE_MAX variant and use that instead. Also replaced two usages
of CHECK_ALLOWED (a,0,something) by CHECK_ALLOWED_MAX (a, something)

9 years agointervideosrc: Fix GAP flag setting on non-black frames
Arun Raghavan [Fri, 23 Jan 2015 06:58:42 +0000 (12:28 +0530)]
intervideosrc: Fix GAP flag setting on non-black frames

The previous commit fixed setting the GAP flag on black frames, but
incorrectly dropped the flag on repeated pushes of the same video
buffer.

9 years agogl/tests: update glwindow api change
Matthew Waters [Fri, 23 Jan 2015 06:27:42 +0000 (17:27 +1100)]
gl/tests: update glwindow api change

9 years agogl/window/eagl: fix a couple of typos
Matthew Waters [Fri, 23 Jan 2015 05:52:25 +0000 (16:52 +1100)]
gl/window/eagl: fix a couple of typos

9 years agoglwindow: cleanup/reorganize functions/members into logical groups
Matthew Waters [Fri, 23 Jan 2015 05:39:44 +0000 (16:39 +1100)]
glwindow: cleanup/reorganize functions/members into logical groups

9 years agoapplemedia: update for gstgl cocoa -> cgl change
Matthew Waters [Fri, 23 Jan 2015 04:02:55 +0000 (15:02 +1100)]
applemedia: update for gstgl cocoa -> cgl change

9 years agogl/qt/examples: update for NSOpenGL -> CGL change
Matthew Waters [Fri, 23 Jan 2015 03:18:12 +0000 (14:18 +1100)]
gl/qt/examples: update for NSOpenGL -> CGL change

9 years agoglwindow: remove width/height from _draw()
Matthew Waters [Fri, 23 Jan 2015 03:11:48 +0000 (14:11 +1100)]
glwindow: remove width/height from _draw()

Depending on the platform, it was only ever implemented to 1) set a
default surface size, 2) resize based on the video frame or 3) nothing.
Instead, provide a set_preferred_size () that elements/applications
can use to request a certain size which may be ignored for
videooverlay/other cases.

9 years agoglcontext/cocoa: avoid destroying a possibly 0 GSource id
Matthew Waters [Thu, 22 Jan 2015 10:43:51 +0000 (21:43 +1100)]
glcontext/cocoa: avoid destroying a possibly 0 GSource id

9 years agogl/cocoa: move to CGL and CAOpenGLLayer for rendering
Matthew Waters [Tue, 20 Jan 2015 11:01:39 +0000 (22:01 +1100)]
gl/cocoa: move to CGL and CAOpenGLLayer for rendering

Removes the use of NSOpenGL* variety and functions.  Any Cocoa
specific functions that took/returned a NSOpenGL* object now
take/return the CGL equivalents.

9 years agoglcontext/cocoa: add debug category
Matthew Waters [Thu, 22 Jan 2015 05:08:11 +0000 (16:08 +1100)]
glcontext/cocoa: add debug category

9 years agointervideosrc: Fix GAP flag setting on black frames correctly
Arun Raghavan [Thu, 22 Jan 2015 05:20:23 +0000 (10:50 +0530)]
intervideosrc: Fix GAP flag setting on black frames correctly

This did not actually work since the video_buffer was set to NULL after
the first black frame.

Reported by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>

9 years agointervideosrc: Fix max value of the timeout property
Arun Raghavan [Wed, 21 Jan 2015 18:07:10 +0000 (23:37 +0530)]
intervideosrc: Fix max value of the timeout property

Reported by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>

9 years agoopenh264: Implement the preset interface
Arun Raghavan [Wed, 21 Jan 2015 18:05:55 +0000 (23:35 +0530)]
openh264: Implement the preset interface

Will be useful when we want to set presets on the encoder via encodebin
or such.

9 years agoaudiovisualizer: sync with base class in -base
Luis de Bethencourt [Wed, 21 Jan 2015 15:31:21 +0000 (15:31 +0000)]
audiovisualizer: sync with base class in -base

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

9 years agoaudiovisualizer: ensure default query/event handlers are used
Luis de Bethencourt [Wed, 21 Jan 2015 15:06:21 +0000 (15:06 +0000)]
audiovisualizer: ensure default query/event handlers are used

Sync audiovisualizer class implementation to the one in gst-plugins-base. This
commit matches 9dd0e6cccc971d8a6bcca4e9e4d2ee1dbb20fffa in that module.

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

9 years agosiren: Make some local variables non-static for thread-safety
Sebastian Dröge [Wed, 21 Jan 2015 09:18:11 +0000 (10:18 +0100)]
siren: Make some local variables non-static for thread-safety

Otherwise we will override values from another thread if we encode
or decode frames at the same time in different threads.

9 years agoConstify some static arrays everywhere
Sebastian Dröge [Wed, 21 Jan 2015 09:17:04 +0000 (10:17 +0100)]
Constify some static arrays everywhere

9 years agopo: Fix list of files tracked
Edward Hervey [Wed, 21 Jan 2015 07:49:23 +0000 (08:49 +0100)]
po: Fix list of files tracked

sfsink/sfsrc haven't been ported (and therefore dist'ed) in 1.x

9 years agompegdemux: minor debug update
Edward Hervey [Tue, 9 Dec 2014 08:58:03 +0000 (09:58 +0100)]
mpegdemux: minor debug update

Only show PTS/DTS when they are valid, and include the stream id

9 years agoadaptivedemux: do not skip the first fragment
Thiago Santos [Tue, 20 Jan 2015 17:55:05 +0000 (14:55 -0300)]
adaptivedemux: do not skip the first fragment

Avoid advancing fragment right after downloading the header. If it
is the header, by default, don't advance to the next fragment.

9 years agopo: update POTFILES
Piotr Drąg [Tue, 20 Jan 2015 15:57:15 +0000 (16:57 +0100)]
po: update POTFILES

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

9 years agoh264parse: expose stereo-high profile
Víctor Manuel Jáquez Leal [Fri, 16 Jan 2015 18:32:15 +0000 (19:32 +0100)]
h264parse: expose stereo-high profile

Exposing stereo-high profile as a compatible profile of multiview-high
if the maximum number of encoded views in the stream is two.

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

9 years agoh264parse: parse SPS subset
Víctor Manuel Jáquez Leal [Mon, 19 Jan 2015 16:31:26 +0000 (17:31 +0100)]
h264parse: parse SPS subset

This patch calls gst_h264_parser_parse_subset_sps() when a
SPS subset NAL type is found.

All the bits required for parsing the SPS subset in NALs were
already there, just we need to call them when the this NAL type
is found.

With this parsing, the number of views (minus 1) attribute is
filled, which was a requirement for negotiating the stereo-high
profile.

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

9 years agoh264parse: add initial support for MVC NAL units.
Sreerenj Balachandran [Tue, 19 Mar 2013 12:23:00 +0000 (14:23 +0200)]
h264parse: add initial support for MVC NAL units.

Initial support for MVC NAL units. It is only needed to propagate the
complete set of NAL units downstream at this time.

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

Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9 years agoadaptivedemux: add explicit cast to make clang happy
Thiago Santos [Tue, 20 Jan 2015 12:23:02 +0000 (09:23 -0300)]
adaptivedemux: add explicit cast to make clang happy

Fixes compilation

9 years agoadaptivedemux: refactor chunk downloading flow
Thiago Santos [Thu, 15 Jan 2015 20:44:45 +0000 (17:44 -0300)]
adaptivedemux: refactor chunk downloading flow

Add more power to the chunk_received function (renamed to data_received)
and also to the fragment_finish function.

The data_received function must parse/decrypt the data if necessary and
also push it using the new push_buffer function that is exposed now. The
default implementation gets data from the stream adapter (all available)
and pushes it.

The fragment_finish function must also advance the fragment. The default
implementation only advances the fragment.

This allows the subsegment handling in dashdemux to continuously download
the same file from the server instead of stopping at every subsegment
boundary and starting a new request

9 years agocompositor: fix illegal memory access in blend function with negative ypos
Vincent Penquerc'h [Mon, 19 Jan 2015 12:37:23 +0000 (12:37 +0000)]
compositor: fix illegal memory access in blend function with negative ypos

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

9 years agodashdemux: add log message about segment time information
Thiago Santos [Mon, 19 Jan 2015 11:37:59 +0000 (08:37 -0300)]
dashdemux: add log message about segment time information

For debugging purposes

9 years agoadaptivedemux: fix multi-period playback
Thiago Santos [Mon, 19 Jan 2015 11:36:42 +0000 (08:36 -0300)]
adaptivedemux: fix multi-period playback

If we say it is the first segment after a new period it will resync
the segment.start value and all buffers will be late for the new period
we are trying to play. Otherwise we want to keep the segment.start with
the previous value to allow the running time to smoothly increase

9 years agodashdemux: Fix compiler warning with clang
Sebastian Dröge [Mon, 19 Jan 2015 10:23:52 +0000 (11:23 +0100)]
dashdemux: Fix compiler warning with clang

gstdashdemux.c:1330:13: error: implicit conversion from enumeration type 'enum _GstAdaptiveDemuxFlowReturn' to different enumeration type
      'GstFlowReturn' [-Werror,-Wenum-conversion]
      ret = GST_ADAPTIVE_DEMUX_FLOW_SUBSEGMENT_END;
          ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

9 years agoglimagesink: fix memleak
Nicola Murino [Sun, 18 Jan 2015 20:05:44 +0000 (21:05 +0100)]
glimagesink: fix memleak

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

9 years agoRemove real plugin which is no longer needed and has never been ported
Tim-Philipp Müller [Sun, 18 Jan 2015 17:25:35 +0000 (17:25 +0000)]
Remove real plugin which is no longer needed and has never been ported

Decoders for these formats exist in gst-libav, if anyone
still has a need for them.

9 years agoRemove libgmyth-based MythTV source element which was never ported
Tim-Philipp Müller [Sun, 18 Jan 2015 17:10:37 +0000 (17:10 +0000)]
Remove libgmyth-based MythTV source element which was never ported

gmyth seems to be unmaintained upstream, and no one has asked
for this to be ported for a very long time, so let's just
remove it. Neither debian nor Fedora seem to ship libgmyth
any longer, and in any case it's most likely deprecated by
the UPnP support in MythTV.

9 years agoglapi: fix compilation with latest MSVC
Lasse Laursen [Fri, 16 Jan 2015 23:06:40 +0000 (10:06 +1100)]
glapi: fix compilation with latest MSVC

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

9 years agoglmemory: use the correct size for the pbo
Matthew Waters [Thu, 15 Jan 2015 01:57:59 +0000 (12:57 +1100)]
glmemory: use the correct size for the pbo

It was missing the GstVideoAlignment padding which could cause GL
errors related to overrunning the size of the pbo.

9 years agoadaptivedemux: prevent early EOS when switching at last fragment
Thiago Santos [Fri, 16 Jan 2015 19:18:35 +0000 (16:18 -0300)]
adaptivedemux: prevent early EOS when switching at last fragment

Check if there is a next fragment before advancing to avoid causing
a bitrate switch (and maybe exposing new pads) only to push EOS.
This causes playback to stop with an error instead of properly
finishing with EOS message.

9 years agodashdemux: Fix detection for the end of segment.
David Waring [Tue, 13 Jan 2015 14:22:02 +0000 (14:22 +0000)]
dashdemux: Fix detection for the end of segment.

The segment start time is calculated as the offset into the current segment.
The old condition to detect the end of period (i.e. segment start time >
period start + period duration) failed when the period start was not 0 since
the segment start time does not take the period start time into account.
Fix this detection by only comparing the segment start to the period duration.

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

9 years agodashdemux: remove unused segment attribute
Thiago Santos [Thu, 15 Jan 2015 02:11:15 +0000 (23:11 -0300)]
dashdemux: remove unused segment attribute

It was never used, only initialized

9 years agodashdemux: implement ISOBMFF profile handling
Thiago Santos [Mon, 12 Jan 2015 20:40:47 +0000 (17:40 -0300)]
dashdemux: implement ISOBMFF profile handling

The ISOBMFF profile allows definind subsegments in a segment. At those
subsegment boundaries the client can switch from one representation to
another as they have aligned indexes.

To handle those the 'sidx' index is parsed from the stream and the
entries point to pts/offset of the samples in the stream. Knowing that
the entries are aligned in the different representation allows the client
to switch mid fragment. In this profile a single fragment is used per
representation and the subsegments are contained in this fragment.

To notify the superclass about the subsegment boundary the chunk_received
function returns a special flow return that indicates that. In this case,
the super class will check if a more suitable bitrate is available and will
change to the same subsegment in this new representation.

It also requires special handling of the position in the stream as the
fragment advancing is now done by incrementing the index of the subsegment.
It will only advance to the next fragment once all subsegments have been
downloaded.

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

9 years agodashdemux: parse the sidx index from isobmff streams
Thiago Santos [Mon, 12 Jan 2015 14:57:02 +0000 (11:57 -0300)]
dashdemux: parse the sidx index from isobmff streams

Allows dashdemux to identify the subsegments in the stream and
switch bitrates when needed

9 years agodashdemux: check for profiles
Thiago Santos [Fri, 9 Jan 2015 19:43:03 +0000 (16:43 -0300)]
dashdemux: check for profiles

Check for available profiles to enable certain features for
dash playback. For now we check for the ISOFF On Demand 2011 profile.

9 years agoadaptivedemux: add a special return to signal subsegment boundary
Thiago Santos [Tue, 13 Jan 2015 13:16:22 +0000 (10:16 -0300)]
adaptivedemux: add a special return to signal subsegment boundary

The subsegment boundary return tells the adaptivedemux that it can
try to switch to another representation as the stream is at a suitable
position for starting from another bitrate.

9 years agoadaptivedemux: Actually use the byte range for the fragment url
Thiago Santos [Tue, 13 Jan 2015 13:15:21 +0000 (10:15 -0300)]
adaptivedemux: Actually use the byte range for the fragment url

Otherwise we would always download the full fragment. This would
make handling subsegments in DASH impossible.

9 years agoadaptivedemux: allow downloads of headers only
Thiago Santos [Tue, 13 Jan 2015 13:13:47 +0000 (10:13 -0300)]
adaptivedemux: allow downloads of headers only

In order to get some subsegment information, subclasses might want
to download only the headers to have enough data (the index)
to decide where to start downloading from the subsegment.

9 years agoadaptivedemux: refactor common code to function
Thiago Santos [Mon, 12 Jan 2015 21:22:14 +0000 (18:22 -0300)]
adaptivedemux: refactor common code to function

Reuse the same function when finishing downloading and signaling to
the download loop thread to get the next fragment or abort

9 years agoadaptivedemux: inform subclass when headers/index are being downloaded
Thiago Santos [Fri, 9 Jan 2015 20:19:54 +0000 (17:19 -0300)]
adaptivedemux: inform subclass when headers/index are being downloaded

This allows the subclasses to know if the chunks that are downloaded are
part of the header or of the index and will parse the parts that are
of their interest.

9 years agouridownloader: a few leak fixes
Vincent Penquerc'h [Thu, 15 Jan 2015 16:11:24 +0000 (16:11 +0000)]
uridownloader: a few leak fixes

9 years agofragment: fix caps and buffer leaks in get_property
Vincent Penquerc'h [Thu, 15 Jan 2015 13:16:07 +0000 (13:16 +0000)]
fragment: fix caps and buffer leaks in get_property

9 years agohlsdemux: remove unused fragments_cache field
Vincent Penquerc'h [Wed, 14 Jan 2015 17:43:51 +0000 (17:43 +0000)]
hlsdemux: remove unused fragments_cache field

9 years agohlsdemux: a few leak fixes
Vincent Penquerc'h [Wed, 14 Jan 2015 16:42:25 +0000 (16:42 +0000)]
hlsdemux: a few leak fixes

9 years agobs2b: implement the preset interface
Stefan Sauer [Mon, 12 Jan 2015 20:22:06 +0000 (21:22 +0100)]
bs2b: implement the preset interface

Instead of a preset property implement the preset interface in a read-only
fashion.

9 years agodocs: add new bs2b plugin and element
Stefan Sauer [Mon, 12 Jan 2015 11:11:01 +0000 (12:11 +0100)]
docs: add new bs2b plugin and element

9 years agobs2b: add new plugin (Effect/Audio, crossfeed)
Christoph Reiter [Sat, 10 Jan 2015 20:41:12 +0000 (21:41 +0100)]
bs2b: add new plugin (Effect/Audio, crossfeed)

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

9 years agointeraudiosink: Make sure that buffer time is always bigger than period time
Sebastian Dröge [Thu, 15 Jan 2015 12:13:51 +0000 (13:13 +0100)]
interaudiosink: Make sure that buffer time is always bigger than period time

9 years agodecklinkvideosink: Also consider max-lateness property value before dropping late...
Sebastian Dröge [Thu, 15 Jan 2015 11:49:20 +0000 (12:49 +0100)]
decklinkvideosink: Also consider max-lateness property value before dropping late frames

9 years agovtdec: implement the GL texture upload meta
Alessandro Decina [Thu, 15 Jan 2015 03:09:43 +0000 (14:09 +1100)]
vtdec: implement the GL texture upload meta

9 years agoavfvideosrc: implement the GL texture upload meta
Alessandro Decina [Thu, 8 Jan 2015 13:16:17 +0000 (00:16 +1100)]
avfvideosrc: implement the GL texture upload meta

9 years agoglvideomixer: don't upload if alpha <= 0
Matthew Waters [Wed, 14 Jan 2015 22:47:45 +0000 (09:47 +1100)]
glvideomixer: don't upload if alpha <= 0

Implemented using a upload_buffer vfunc within GstGLMixer allowing
NULL uploaded buffers.

9 years agoglmemory: remove spurious gst_video_info_align
Matthew Waters [Wed, 14 Jan 2015 22:45:21 +0000 (09:45 +1100)]
glmemory: remove spurious gst_video_info_align

That will be taken care of by the calling code (typically a bufferpool).
The GstVideoAlignment is purely informational to compute plane data sizes.

9 years agocompositor: Document the zorder pad property from gstvideoaggregator
Nirbheek Chauhan [Wed, 14 Jan 2015 18:18:16 +0000 (23:48 +0530)]
compositor: Document the zorder pad property from gstvideoaggregator

9 years agoaggregator: Nitpick spacing/punctuation in debug logging
Nirbheek Chauhan [Wed, 14 Jan 2015 18:17:19 +0000 (23:47 +0530)]
aggregator: Nitpick spacing/punctuation in debug logging

9 years agodecklinkvideosink: Stop scheduled playback shortly in PAUSED->PLAYING if it was runni...
Sebastian Dröge [Wed, 14 Jan 2015 15:33:53 +0000 (16:33 +0100)]
decklinkvideosink: Stop scheduled playback shortly in PAUSED->PLAYING if it was running already

This fixes handling of flushing seeks, where we will get a PAUSED->PLAYING
state transition after the previous one without actually going to PAUSED
first.

9 years agodecklinkvideosink: Don't schedule too late frames in prepare()
Sebastian Dröge [Wed, 14 Jan 2015 15:01:07 +0000 (16:01 +0100)]
decklinkvideosink: Don't schedule too late frames in prepare()

Otherwise we will overflow the internal buffer of the hardware
with useless frames and run into an error. This is necessary until
this bug in basesink is fixed:
https://bugzilla.gnome.org/show_bug.cgi?id=742916

9 years agodecklinkvideosink: Keep track of the time when we went to PLAYING for the external...
Sebastian Dröge [Wed, 14 Jan 2015 14:54:28 +0000 (15:54 +0100)]
decklinkvideosink: Keep track of the time when we went to PLAYING for the external clock too

Otherwise we're adding an offset of the time the pipeline was in PLAYING
already to the running time when converting it to our internal clock.

9 years agodecklinkvideosink: Enable QoS and set max-lateness to 20ms
Sebastian Dröge [Wed, 14 Jan 2015 12:32:51 +0000 (13:32 +0100)]
decklinkvideosink: Enable QoS and set max-lateness to 20ms

9 years agoh264parser: fix stack smashing
Vincent Penquerc'h [Mon, 12 Jan 2015 17:24:52 +0000 (17:24 +0000)]
h264parser: fix stack smashing

Ensure that we do not trust the bitstream when filling a table
with a fixed max size.
Additionally, the code was not quite matching what the spec says:
- a value of 3 broke from the loop before adding an entry
- an unhandled value did not add an entry
The reference algorithm does these things differently (7.3.3.1
in ITU-T Rec. H.264 (05/2003)).

This plays (apparently correctly) the original repro file, with
no stack smashing.

Based on a patch and bug report by André Draszik <git@andred.net>

9 years agogl: split glcolorconvert usage from glupload
Matthew Waters [Wed, 14 Jan 2015 11:08:43 +0000 (22:08 +1100)]
gl: split glcolorconvert usage from glupload

the separation allows the transfer operation to occur in a separate
thread/time which may increase performance in specific circumstances.

9 years agoglmemory: offset the data pointer for upload for GstVideoAlignment
Matthew Waters [Wed, 14 Jan 2015 01:39:11 +0000 (12:39 +1100)]
glmemory: offset the data pointer for upload for GstVideoAlignment

otherwise we attempt to read from the padding data

9 years agoglmemory: use pbo's for upload
Matthew Waters [Tue, 13 Jan 2015 13:08:11 +0000 (00:08 +1100)]
glmemory: use pbo's for upload

9 years agoglupload: relax the GLMemory uploader check for input caps features
Matthew Waters [Tue, 13 Jan 2015 12:47:06 +0000 (23:47 +1100)]
glupload: relax the GLMemory uploader check for input caps features

As there may be a sysmem caps features with GLMemory filled buffers.
e.g.

videotestsrc ! glimagesink

9 years agoRevert "Revert "openh264: fix to work with released versions and master of upstream""
Zaheer Abbas Merali [Tue, 13 Jan 2015 19:32:03 +0000 (11:32 -0800)]
Revert "Revert "openh264: fix to work with released versions and master of upstream""

This reverts commit 329f0ccba1aa604da1bd80293fd1fe717447df5d.

9 years agoopenh264: remove all trace output to console from encoder
Zaheer Abbas Merali [Wed, 17 Dec 2014 17:19:52 +0000 (09:19 -0800)]
openh264: remove all trace output to console from encoder

9 years agodecklink: Use BT2020 colorspace for UltraHD resolutions
Sebastian Dröge [Tue, 13 Jan 2015 18:56:24 +0000 (19:56 +0100)]
decklink: Use BT2020 colorspace for UltraHD resolutions

9 years agodecklink: Fix indention once again
Sebastian Dröge [Tue, 13 Jan 2015 18:55:37 +0000 (19:55 +0100)]
decklink: Fix indention once again

9 years agoaudiovisualizer: handle the return of the setup function
Luis de Bethencourt [Tue, 13 Jan 2015 16:49:07 +0000 (16:49 +0000)]
audiovisualizer: handle the return of the setup function

Make the class future proof by handling the gboolean return of the setup
function. So if/when a child class uses this the base class is ready.

9 years agoRevert "audiovisualizer: remove unused value"
Luis de Bethencourt [Tue, 13 Jan 2015 16:46:10 +0000 (16:46 +0000)]
Revert "audiovisualizer: remove unused value"

This reverts commit 25c97570834d6de1c14424e71221d19eb0d33ee3.

It is preferable to handle the retun of the setup function.

9 years agodecklinkvideosink: Get our own "start time" instead of the one of the pipeline
Sebastian Dröge [Tue, 13 Jan 2015 16:44:17 +0000 (17:44 +0100)]
decklinkvideosink: Get our own "start time" instead of the one of the pipeline

decklinkvideosink might be added later to the pipeline, or its state might
be handled separately from the pipeline. In which case the running time when
we (last) went into PLAYING state will be different from the pipeline's.

However we need our own start time to tell the Decklink API, which running
time should be displayed at the moment we go to PLAYING and start scheduled
rendering.

9 years agointer: Use a #define for the default value of the channel property
Sebastian Dröge [Tue, 13 Jan 2015 16:00:51 +0000 (17:00 +0100)]
inter: Use a #define for the default value of the channel property

9 years agointervideosrc: Make the timeout configurable after which we start showing a black...
Sebastian Dröge [Tue, 13 Jan 2015 15:58:50 +0000 (16:58 +0100)]
intervideosrc: Make the timeout configurable after which we start showing a black frame

9 years agoaudiovisualizer: remove unused value
Luis de Bethencourt [Tue, 13 Jan 2015 15:42:26 +0000 (15:42 +0000)]
audiovisualizer: remove unused value

klass->setup (scope) will always return TRUE since all children of this class
do so, no need to store the return. Besides, the value is overwritten a few
lines down before it is used.

Change helps keep files in sync after:
-base commit a91d521a3602f33083405467db9454d422b9da1b

9 years agocompositor: Don't do any conversions if the pad is completely transparent anyway
Sebastian Dröge [Tue, 13 Jan 2015 13:54:26 +0000 (14:54 +0100)]
compositor: Don't do any conversions if the pad is completely transparent anyway

9 years agointer: silence messages for flushed / created samples
Branislav Katreniak [Mon, 12 Jan 2015 11:58:27 +0000 (12:58 +0100)]
inter: silence messages for flushed / created samples

These messages are logged periodically and polute the log

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

9 years agoglcolorconvert: fix memleak
Nicola Murino [Thu, 25 Dec 2014 22:10:19 +0000 (23:10 +0100)]
glcolorconvert: fix memleak

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

9 years agoglupload: fix some memory leaks
Nicola Murino [Thu, 25 Dec 2014 21:59:42 +0000 (22:59 +0100)]
glupload: fix some memory leaks

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