platform/upstream/gstreamer.git
9 years agovideo: fix build in gst-uninstalled setup
Josep Torra [Sun, 28 Sep 2014 16:03:09 +0000 (18:03 +0200)]
video: fix build in gst-uninstalled setup

Include the base video lib appropriately and resort all of them as
thaytan suggested.

9 years agoexamples: Fix Qt/GL qglwtextureshare example for X11
Jan Schmidt [Sun, 28 Sep 2014 14:23:57 +0000 (00:23 +1000)]
examples: Fix Qt/GL qglwtextureshare example for X11

We need to pass the X11 display to GstGL or else it will
use its own X11 Display pointer, and the GL Context won't get shared
correctly on newer X servers

9 years agoexamples: port GL/Qt examples to Qt5
Jan Schmidt [Sun, 28 Sep 2014 10:21:50 +0000 (20:21 +1000)]
examples: port GL/Qt examples to Qt5

Update the GL Qt integration examples for Qt5 changes and for GstGL
signal signature changes.

9 years agoglcontext: fixup error in sharegroup comment
Matthew Waters [Sun, 28 Sep 2014 14:32:05 +0000 (00:32 +1000)]
glcontext: fixup error in sharegroup comment

9 years agoRevert accidental push: "gltestsrc: implement checkers pattern with GLSL"
Matthew Waters [Sun, 28 Sep 2014 14:27:30 +0000 (00:27 +1000)]
Revert accidental push: "gltestsrc: implement checkers pattern with GLSL"

This reverts commit eae09179f0b4eb584c8fc7b6560d8fc8e86eed4c.

9 years agoglcontext: detect the sharegroup case where the context are in different chains
Matthew Waters [Sun, 28 Sep 2014 14:24:28 +0000 (00:24 +1000)]
glcontext: detect the sharegroup case where the context are in different chains

In the end they will lead to the same root context in the tree so check that
for equality.

9 years agogltestsrc: implement checkers pattern with GLSL
Wang Xin-yu (王昕宇) [Sun, 28 Sep 2014 02:51:09 +0000 (10:51 +0800)]
gltestsrc: implement checkers pattern with GLSL

9 years agoglfilter: silence a warning with empty input caps
Matthew Waters [Sun, 28 Sep 2014 11:18:32 +0000 (21:18 +1000)]
glfilter: silence a warning with empty input caps

discovered with the doublecube example

gst_caps_get_features: assertion 'index < GST_CAPS_LEN (caps)' failed

9 years agoexamples/gl: update for signal signature change
Matthew Waters [Sun, 28 Sep 2014 10:37:04 +0000 (20:37 +1000)]
examples/gl: update for signal signature change

9 years agovideoaggregator: don't create converters when the subclass doesn't want them
Matthew Waters [Sun, 28 Sep 2014 06:58:42 +0000 (16:58 +1000)]
videoaggregator: don't create converters when the subclass doesn't want them

fixes a critical with glvideomixer after
35bd1969f912cecda0fb5df9595a005e6ddf4e7a

CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed

9 years agogloverlay: fix zero output frames with YUY2/UYVY
Matthew Waters [Fri, 26 Sep 2014 12:29:56 +0000 (22:29 +1000)]
gloverlay: fix zero output frames with YUY2/UYVY

also, be nice and disable blending for other elements

9 years agogloverlay: protect desktop gl specific tokens with #if
Matthew Waters [Fri, 26 Sep 2014 12:22:06 +0000 (22:22 +1000)]
gloverlay: protect desktop gl specific tokens with #if

9 years agogloverlay: free the image memory every time the location changes
Matthew Waters [Fri, 26 Sep 2014 02:28:10 +0000 (12:28 +1000)]
gloverlay: free the image memory every time the location changes

fixes a memory leak

9 years agogloverlay: Include into the build with GLES2 only too
Sebastian Dröge [Thu, 25 Sep 2014 17:48:59 +0000 (20:48 +0300)]
gloverlay: Include into the build with GLES2 only too

9 years agogltestsrc: free the shader on stop
Matthew Waters [Thu, 25 Sep 2014 15:45:22 +0000 (01:45 +1000)]
gltestsrc: free the shader on stop

9 years agoglvideomixer: fix blending with low-alpha sources
Matthew Waters [Thu, 25 Sep 2014 15:34:54 +0000 (01:34 +1000)]
glvideomixer: fix blending with low-alpha sources

We also need to apply the blend paramaters to the alpha channel otherwise
the output of the blend will appear black at low alpha values (< 0.2).

9 years agogloverlay: reimplement everything
Matthew Waters [Thu, 25 Sep 2014 15:14:35 +0000 (01:14 +1000)]
gloverlay: reimplement everything

 - update for shaders
 - add alpha property
 - image placement properties shamelessly borrowed from gdkpixbufoverlay
 - image placement properties are GstController able
 - use GstGLMemory for the overlay image data
 - add support for gles2

9 years agostyle: remove unnecessary break statements
Luis de Bethencourt [Thu, 25 Sep 2014 15:04:33 +0000 (16:04 +0100)]
style: remove unnecessary break statements

Code flow never arrives to these break statements due to the gotos preceding
them. So the breaks are unnecessary, as discussed in bug 736942.

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

9 years agompeg2enc: break statement unnecessary
Luis de Bethencourt [Thu, 25 Sep 2014 14:45:57 +0000 (15:45 +0100)]
mpeg2enc: break statement unnecessary

Code flow never arrives to the break statements due to the goto's. So the
breaks are unnecessary.

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

9 years agogl/cocoa: Switch from our custom main loop to a GMainLoop
Sebastian Dröge [Thu, 25 Sep 2014 13:13:19 +0000 (16:13 +0300)]
gl/cocoa: Switch from our custom main loop to a GMainLoop

Simplifies code a lot and makes it more similar to the other backends.

9 years agogl/cocoa: Clear the current GL context when it should happen
Sebastian Dröge [Thu, 25 Sep 2014 13:12:24 +0000 (16:12 +0300)]
gl/cocoa: Clear the current GL context when it should happen

9 years agocurlsmtpsink: Email with multipart content-type should end with a final boundary
Lihua Liu [Wed, 24 Sep 2014 10:42:23 +0000 (12:42 +0200)]
curlsmtpsink: Email with multipart content-type should end with a final boundary

Add final boundary for each of the sending out emails from smtpsink.

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

9 years agocurl*sink: add more logging
Stefan Sauer [Thu, 25 Sep 2014 08:14:41 +0000 (10:14 +0200)]
curl*sink: add more logging

9 years agocurlbasesink: add a debug function
Stefan Sauer [Thu, 25 Sep 2014 06:05:50 +0000 (08:05 +0200)]
curlbasesink: add a debug function

If gstreamer is build with logging enabled, add a debug function and output
verbose messages to the log instead of stderr.

9 years agocurlhttpsink: only add content-disposition header if a filename is set
Stefan Sauer [Wed, 24 Sep 2014 20:24:49 +0000 (22:24 +0200)]
curlhttpsink: only add content-disposition header if a filename is set

The header is optional and therefore we better omit it if we don't have a filename.

9 years agocurlbasesink: don't replace specific error messages with a generic one
Stefan Sauer [Wed, 24 Sep 2014 20:06:21 +0000 (22:06 +0200)]
curlbasesink: don't replace specific error messages with a generic one

Only set an error if we haven't set one already.

9 years agocurltlssink: swap check
Stefan Sauer [Wed, 24 Sep 2014 19:07:20 +0000 (21:07 +0200)]
curltlssink: swap check

Lets check for NULL first, as that is the default anyway.

9 years agoh264parse: Return flushing if we get chained while being set to READY
Thibault Saunier [Tue, 29 Jul 2014 14:12:26 +0000 (16:12 +0200)]
h264parse: Return flushing if we get chained while being set to READY

Or not negotiated in the case we would be actually not negotiated

Currently we are getting assertions from
gst_pb_utils_add_codec_description_to_tag_list because of NULL
caps.

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

9 years agodashdemux: mark first buffer as discont after restarting a download task
Matthieu Bouron [Tue, 9 Sep 2014 11:12:31 +0000 (13:12 +0200)]
dashdemux: mark first buffer as discont after restarting a download task

Mark first buffer as discont after restarting a download task, so
downstream can reset its state to properly handle the new fragment.

Related issue: https://bugzilla.gnome.org/show_bug.cgi?id=736318

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

9 years agodashdemux: push a time segment when restarting streaming
Thiago Santos [Sat, 20 Sep 2014 01:32:39 +0000 (22:32 -0300)]
dashdemux: push a time segment when restarting streaming

This should inform demuxers/decoders downstream that the stream is
about to start from a new position and they should flush accordingly

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

9 years agovideo: use video lib conversion code instead of copy
Wim Taymans [Wed, 24 Sep 2014 14:55:49 +0000 (16:55 +0200)]
video: use video lib conversion code instead of copy

9 years agomplex: break statement unnecessary
Anuj Jaiswal [Thu, 18 Sep 2014 11:56:37 +0000 (17:26 +0530)]
mplex: break statement unnecessary

One more code flow issue where it never arrives to the break statement due to
the goto. So the break is unnecessary.
Plus two coding style fixes.

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

9 years agochopmydata: Transfer timestamps to output buffers
Jan Schmidt [Wed, 24 Sep 2014 12:42:58 +0000 (22:42 +1000)]
chopmydata: Transfer timestamps to output buffers

Allows using chopmydata as a simple repacketizer

9 years agoandroidmedia: break statements unnecessary
Anuj Jaiswal [Fri, 19 Sep 2014 04:21:48 +0000 (09:51 +0530)]
androidmedia: break statements unnecessary

Code flow never arrives to the break statements due to the goto's. So the
breaks are unecessary. Second part to commit a3958ae65b

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

9 years agoandroidmedia: break statement unnecessary
Anuj Jaiswal [Fri, 19 Sep 2014 04:29:41 +0000 (09:59 +0530)]
androidmedia: break statement unnecessary

Code flow never arrives to the break statements due to the goto's. So the
breaks are unecessary.

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

9 years agodshowsrcwrapper: avoid error when set_caps called twice
Joshua M. Doe [Thu, 18 Sep 2014 20:13:58 +0000 (16:13 -0400)]
dshowsrcwrapper: avoid error when set_caps called twice

If set_caps is called in a running state, return immediately if the caps
haven't changed. If the pins are already connected, disconnect them.

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

9 years agoglvideomixer: skip input frames with an alpha of 0
Matthew Waters [Wed, 24 Sep 2014 04:29:37 +0000 (14:29 +1000)]
glvideomixer: skip input frames with an alpha of 0

9 years agogl: download whenever we have sysmem capsfeatures
Matthew Waters [Wed, 24 Sep 2014 03:13:19 +0000 (13:13 +1000)]
gl: download whenever we have sysmem capsfeatures

Otherwise we could pass on a RGBA formatted buffer and downstream would
misinterpret that as some other video format.

Fixes pipelines of the form

    gleffects ! tee ! xvimagesink

9 years agogsettings: Fix typo in description
Sebastian Rasmussen [Thu, 18 Sep 2014 23:22:14 +0000 (01:22 +0200)]
gsettings: Fix typo in description

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

9 years agompegpsmux: refactor duplicate else branches
Luis de Bethencourt [Tue, 23 Sep 2014 16:32:59 +0000 (17:32 +0100)]
mpegpsmux: refactor duplicate else branches

Unknown case should assert if reached instead of just assuming the max buffer
size.

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

9 years agovc1parse: initialize sent_codec_tag before using it
Aurélien Zanelli [Fri, 19 Sep 2014 07:54:11 +0000 (09:54 +0200)]
vc1parse: initialize sent_codec_tag before using it

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

9 years agovideofilters: Add support for more YUV formats
Sanjay NM [Mon, 22 Sep 2014 11:44:29 +0000 (17:14 +0530)]
videofilters: Add support for more YUV formats

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

9 years agogltestsrc: add Mandelbrot fractal pattern.
Lubosz Sarnecki [Thu, 21 Aug 2014 00:14:40 +0000 (02:14 +0200)]
gltestsrc: add Mandelbrot fractal pattern.

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

9 years agogltestsrc: implement snow pattern with GLSL.
Lubosz Sarnecki [Thu, 21 Aug 2014 00:13:58 +0000 (02:13 +0200)]
gltestsrc: implement snow pattern with GLSL.

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

9 years agoglupload: fallback to upload if contexts cannot share GL resources
Matthew Waters [Tue, 23 Sep 2014 02:02:18 +0000 (12:02 +1000)]
glupload: fallback to upload if contexts cannot share GL resources

Fixes pipelines of the form

    gleffects ! tee ! glimagesink

as tee does not pass on the allocation query.

9 years agoglcontext: add gst_gl_context_can_share
Matthew Waters [Tue, 23 Sep 2014 02:01:04 +0000 (12:01 +1000)]
glcontext: add gst_gl_context_can_share

Which determines whether two GstGLContext's can share sharable
OpenGL resources.

9 years agogl/tests: update for upload API changes
Matthew Waters [Mon, 22 Sep 2014 10:01:27 +0000 (20:01 +1000)]
gl/tests: update for upload API changes

9 years agogl: Let gst_gl_context_get_thread() return a new reference to the GThread
Sebastian Dröge [Mon, 22 Sep 2014 07:08:17 +0000 (10:08 +0300)]
gl: Let gst_gl_context_get_thread() return a new reference to the GThread

Otherwise it might go away in the meantime and the caller has some random pointer.

9 years agogl: consecutive return, break statement
Anuj Jaiswal [Mon, 22 Sep 2014 05:40:42 +0000 (11:10 +0530)]
gl: consecutive return, break statement

Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>
https://bugzilla.gnome.org/show_bug.cgi?id=736939

9 years agogl/debug: desktop GL does not have the KHR suffixes
Matthew Waters [Mon, 22 Sep 2014 02:21:22 +0000 (12:21 +1000)]
gl/debug: desktop GL does not have the KHR suffixes

9 years agoexamples/gl/gtk: use the sync bus callback to set the window handle
Matthew Waters [Mon, 22 Sep 2014 01:59:30 +0000 (11:59 +1000)]
examples/gl/gtk: use the sync bus callback to set the window handle

And output error messages.

9 years agodvbsrc: add missing FEC rates
Reynaldo H. Verdejo Pinochet [Fri, 19 Sep 2014 21:59:01 +0000 (18:59 -0300)]
dvbsrc: add missing FEC rates

Order of the enum values (new rates after _AUTO)
has been kept congruent with the one in the v4l
API for consistency.

9 years agogl: add since markers for new API
Tim-Philipp Müller [Sun, 21 Sep 2014 12:32:29 +0000 (13:32 +0100)]
gl: add since markers for new API

9 years agoglmemory: add debug line for freeing textures
Matthew Waters [Sun, 21 Sep 2014 11:42:41 +0000 (21:42 +1000)]
glmemory: add debug line for freeing textures

9 years agoglupload: provide the output buffer that is rendered into
Matthew Waters [Sun, 21 Sep 2014 11:36:49 +0000 (21:36 +1000)]
glupload: provide the output buffer that is rendered into

Allows callers to properly reference count the buffers used for
rendering.

Fixes a redraw race in glimagesink where the previous buffer
(the one used for redraw operations) is freed as soon as the next
buffer is uploaded.

1. glimagesink uploads in _prepare() to texture n
1.1 glupload holds buffer n
2. glimagesink _render()s texture n
3. glimagesink uploads texture n+1
3.1 glupload free previous buffer which deletes texture n
3.2 glupload holds buffer n+1
4. glwindow resize/expose
5. glimagesink redraws with texture n

The race is that the buffer n (the one used for redrawing) is freed as soon as
the buffer n+1 arrives.  There could be any amount of time and number of
redraws between this event and when buffer n+1 is actually rendered and thus
replaces buffer n as the redraw source.

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

9 years agoglcontext: add API to retreive the thread that context is active in
Matthew Waters [Sun, 21 Sep 2014 11:30:58 +0000 (21:30 +1000)]
glcontext: add API to retreive the thread that context is active in

9 years agogl: Removed unreachable break, unused variable
Sanjay NM [Fri, 19 Sep 2014 10:02:33 +0000 (15:32 +0530)]
gl: Removed unreachable break, unused variable

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

9 years agovtenc: Fix encoder to work on iOS
Sebastian Dröge [Fri, 19 Sep 2014 11:36:39 +0000 (14:36 +0300)]
vtenc: Fix encoder to work on iOS

iOS has special stride requirements that we don't know yet, so copy
input buffers into buffers allocated by iOS for now.

Later we should check the stride and probably provide a buffer pool for these
buffers so upstream can directly write in there.

9 years agoapplemedia: We need to map the coremedia buffers in non-readonly mode
Sebastian Dröge [Fri, 19 Sep 2014 11:32:46 +0000 (14:32 +0300)]
applemedia: We need to map the coremedia buffers in non-readonly mode

Our buffers claim to be writable so other elements expect to be able
to write there without losing their changes.

9 years agohlsdemux: lock client mutex before entering the retry_failover block
Philippe Normand [Thu, 18 Sep 2014 16:16:59 +0000 (18:16 +0200)]
hlsdemux: lock client mutex before entering the retry_failover block

This is consistent with the case where the block execution is
triggered by the goto invoked after the current_variant update.

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

9 years agomssdemux: synchronize with the download loop thread to signal it to continue
George Kiagiadakis [Fri, 12 Sep 2014 05:36:47 +0000 (02:36 -0300)]
mssdemux: synchronize with the download loop thread to signal it to continue

If EOS or ERROR happens before the download loop thread has reached its
g_cond_wait() call, then the g_cond_signal doesn't have any effect and
the download loop thread stucks later.

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

9 years agohlsdemux: synchronize with the download loop thread to signal it to continue
George Kiagiadakis [Fri, 12 Sep 2014 05:35:44 +0000 (02:35 -0300)]
hlsdemux: synchronize with the download loop thread to signal it to continue

If EOS or ERROR happens before the download loop thread has reached its
g_cond_wait() call, then the g_cond_signal doesn't have any effect and
the download loop thread stucks later.

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

9 years agodashdemux: synchronize with the download loop thread to signal it to continue
George Kiagiadakis [Fri, 29 Aug 2014 10:38:12 +0000 (12:38 +0200)]
dashdemux: synchronize with the download loop thread to signal it to continue

If EOS or ERROR happens before the download loop thread has reached its
g_cond_wait() call, then the g_cond_signal doesn't have any effect and
the download loop thread stucks later.

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

9 years agomssdemux: fix clearing of eos state in pads
Thiago Santos [Wed, 17 Sep 2014 20:27:53 +0000 (17:27 -0300)]
mssdemux: fix clearing of eos state in pads

The internal pad still keeps its EOS flag and event as it can be assigned
after the flush-start/stop pair is sent. The EOS is assigned from the streaming
thread so this is racy.

To be sure to clear it, it has to be done after setting the source to READY to
be sure that its streaming thread isn't running.

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

9 years agohlsdemux: fix clearing of eos state in pads
Thiago Santos [Wed, 17 Sep 2014 20:27:25 +0000 (17:27 -0300)]
hlsdemux: fix clearing of eos state in pads

The internal pad still keeps its EOS flag and event as it can be assigned
after the flush-start/stop pair is sent. The EOS is assigned from the streaming
thread so this is racy.

To be sure to clear it, it has to be done after setting the source to READY to
be sure that its streaming thread isn't running.

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

9 years agodashdemux: fix clearing of eos state in pads
Thiago Santos [Wed, 17 Sep 2014 17:51:53 +0000 (14:51 -0300)]
dashdemux: fix clearing of eos state in pads

The internal pad still keeps its EOS flag and event as it can be assigned
after the flush-start/stop pair is sent. The EOS is assigned from the streaming
thread so this is racy.

To be sure to clear it, it has to be done after setting the source to READY to
be sure that its streaming thread isn't running.

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

9 years agovtenc: Let the encoder automatically choose a h264 level
Sebastian Dröge [Thu, 18 Sep 2014 14:49:46 +0000 (17:49 +0300)]
vtenc: Let the encoder automatically choose a h264 level

We should negotiate these things via caps...

9 years agovtenc: Use 0 instead of G_MAXDOUBLE as the max keyframe interval
Sebastian Dröge [Thu, 18 Sep 2014 10:45:33 +0000 (13:45 +0300)]
vtenc: Use 0 instead of G_MAXDOUBLE as the max keyframe interval

0 means no limit, which was meant here with G_MAXDOUBLE probably.

9 years agovtenc: Expected duration is supposed to be the duration of the stream, not a frame
Sebastian Dröge [Thu, 18 Sep 2014 10:42:24 +0000 (13:42 +0300)]
vtenc: Expected duration is supposed to be the duration of the stream, not a frame

Just don't set it for now, it isn't really needed.

9 years agovc1parser: add unit test for sequence-layer parsing
Aurélien Zanelli [Thu, 18 Sep 2014 09:39:53 +0000 (11:39 +0200)]
vc1parser: add unit test for sequence-layer parsing

Check that a sequence-layer header is successfully parsed.

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

9 years agovc1parser: take care of endianness when parsing sequence-layer
Aurélien Zanelli [Thu, 18 Sep 2014 09:49:13 +0000 (11:49 +0200)]
vc1parser: take care of endianness when parsing sequence-layer

sequence-layer is serialized in little-endian byte order except for
STRUCT_C which is serialized in big-endian byte order.

But since STRUCT_A and STRUCT_B fields are defined as unsigned int msb
first, we have to pass them as big-endian to their parsing function. So
we basically use temporary buffers to convert them in big-endian.

See SMPTE 421M Annex J and L.

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

9 years agovtenc: Properly handle keyframes
Sebastian Dröge [Thu, 18 Sep 2014 10:11:05 +0000 (13:11 +0300)]
vtenc: Properly handle keyframes

Especially set the SYNC_POINT flag on keyframes.

9 years agompegdemux: removed an unwanted initialization and a variable
Sanjay NM [Thu, 18 Sep 2014 08:54:13 +0000 (14:24 +0530)]
mpegdemux: removed an unwanted initialization and a variable

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

9 years agodshowsrcwrapper: Port to 1.0
Jerome Laheurte [Wed, 17 Sep 2014 10:24:39 +0000 (12:24 +0200)]
dshowsrcwrapper: Port to 1.0

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

9 years agocamerabin2: removed redundant initialization
Sanjay NM [Thu, 18 Sep 2014 07:23:11 +0000 (12:53 +0530)]
camerabin2: removed redundant initialization

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

9 years agofaad: logical disjunction consecutive return, break unnecessary
Anuj Jaiswal [Wed, 17 Sep 2014 10:20:23 +0000 (15:50 +0530)]
faad: logical disjunction consecutive return, break unnecessary

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

9 years agovc1parse: enable header-format conversion
Aurélien Zanelli [Wed, 17 Sep 2014 09:49:22 +0000 (11:49 +0200)]
vc1parse: enable header-format conversion

In fact we support header-format conversion which is done in
update_caps() method.

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

9 years agovtdec: Fix compilation
Sebastian Dröge [Thu, 18 Sep 2014 07:30:04 +0000 (10:30 +0300)]
vtdec: Fix compilation

9 years agovtdec: Handle 0/1 framerates correctly by not calculating their frame duration
Sebastian Dröge [Thu, 18 Sep 2014 06:47:06 +0000 (09:47 +0300)]
vtdec: Handle 0/1 framerates correctly by not calculating their frame duration

9 years agoatdec: Fix some compiler warnings with newer clang
Sebastian Dröge [Wed, 17 Sep 2014 14:37:12 +0000 (17:37 +0300)]
atdec: Fix some compiler warnings with newer clang

9 years agovtenc: Prepare encoder after setup
Sebastian Dröge [Wed, 17 Sep 2014 14:10:58 +0000 (17:10 +0300)]
vtenc: Prepare encoder after setup

This will allow encoding to happen faster on the first frame.

9 years agovtenc: Only drain the encoder in ::finish(), not on every frame
Sebastian Dröge [Wed, 17 Sep 2014 14:08:57 +0000 (17:08 +0300)]
vtenc: Only drain the encoder in ::finish(), not on every frame

Otherwise quality and bitrate will be bad.

9 years agovtenc: Error out if encoding returned an error
Sebastian Dröge [Wed, 17 Sep 2014 12:39:26 +0000 (15:39 +0300)]
vtenc: Error out if encoding returned an error

Otherwise we will just continue consuming frames until all memory is filled
up and the app crashes.

9 years agovtenc: Check for errors from VTCompressionSessionCompleteFrames()
Sebastian Dröge [Wed, 17 Sep 2014 11:56:05 +0000 (14:56 +0300)]
vtenc: Check for errors from VTCompressionSessionCompleteFrames()

9 years agovtenc: Properly scale timestamps for the API and set invalid values
Sebastian Dröge [Wed, 17 Sep 2014 11:55:24 +0000 (14:55 +0300)]
vtenc: Properly scale timestamps for the API and set invalid values

9 years agovtdec: Properly scale timestamps for the API and set invalid values
Sebastian Dröge [Wed, 17 Sep 2014 11:54:39 +0000 (14:54 +0300)]
vtdec: Properly scale timestamps for the API and set invalid values

9 years agoapplemedia: Remove old code that is of no use anymore
Sebastian Dröge [Wed, 17 Sep 2014 10:19:04 +0000 (13:19 +0300)]
applemedia: Remove old code that is of no use anymore

9 years agovc1parse: forge sequence-layer from seq_hdr instead of seq_layer
Aurélien Zanelli [Tue, 16 Sep 2014 15:38:53 +0000 (17:38 +0200)]
vc1parse: forge sequence-layer from seq_hdr instead of seq_layer

If we don't have a seq_layer_buffer, we also don't have a valid
seq_layer because there are set together in
gst_vc1_parse_handle_seq_layer().

So when output header format is sequence-layer and when we don't have a
seq_layer_buffer, we forge one from seq_hdr.

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

9 years agoapplemedia: Unconditionally use VideoToolbox on iOS if available
Sebastian Dröge [Wed, 17 Sep 2014 07:39:26 +0000 (10:39 +0300)]
applemedia: Unconditionally use VideoToolbox on iOS if available

Because we do weak linking now we can always compile it in and check at
runtime if it is actually available or not.

9 years agoapplemedia: Do weak linking with the VideoToolbox framework
Sebastian Dröge [Wed, 17 Sep 2014 07:38:20 +0000 (10:38 +0300)]
applemedia: Do weak linking with the VideoToolbox framework

It does not exist on older OSX and iOS but we still want to
be able to use it when it's available.

9 years agowaylandsink: do not leak buffer pool in error case
Ognyan Tonchev [Tue, 16 Sep 2014 10:06:35 +0000 (12:06 +0200)]
waylandsink: do not leak buffer pool in error case

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

9 years agovc1parse: fix sequence-layer/frame-layer endianness
Aurélien Zanelli [Tue, 16 Sep 2014 13:59:58 +0000 (15:59 +0200)]
vc1parse: fix sequence-layer/frame-layer endianness

Sequence-layer and frame-layer are serialized in little-endian byte
order except for STRUCT_C and framedata fields as described in SMPTE 421M Annex
L.

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

9 years agovtenc: Port to GstVideoEncoder base class
Sebastian Dröge [Tue, 16 Sep 2014 13:51:28 +0000 (16:51 +0300)]
vtenc: Port to GstVideoEncoder base class

9 years agovtenc: Use correct instance struct size
Sebastian Dröge [Tue, 16 Sep 2014 13:13:16 +0000 (16:13 +0300)]
vtenc: Use correct instance struct size

9 years agovtdec: Fix compiler warnings
Sebastian Dröge [Tue, 16 Sep 2014 12:48:11 +0000 (15:48 +0300)]
vtdec: Fix compiler warnings

values of type 'OSStatus' should not be used as format arguments; add an explicit cast to 'int' instead [-Wformat]

9 years agovtenc: Port to the real VideoToolbox API instead of using our dlopen() wrapper
Sebastian Dröge [Tue, 16 Sep 2014 12:02:46 +0000 (15:02 +0300)]
vtenc: Port to the real VideoToolbox API instead of using our dlopen() wrapper

It's a public framework since a long time.

9 years agoglfilter: do not leak pool in error cases
Ognyan Tonchev [Tue, 16 Sep 2014 09:42:34 +0000 (11:42 +0200)]
glfilter: do not leak pool in error cases

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

9 years agovdpdecoder: do not leak pool
Ognyan Tonchev [Tue, 16 Sep 2014 09:43:02 +0000 (11:43 +0200)]
vdpdecoder: do not leak pool

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

9 years agogltestsrc: do not leak pool in error cases
Ognyan Tonchev [Tue, 16 Sep 2014 09:41:43 +0000 (11:41 +0200)]
gltestsrc: do not leak pool in error cases

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

9 years agoopenni2src: do not leak pool
Ognyan Tonchev [Tue, 16 Sep 2014 09:42:13 +0000 (11:42 +0200)]
openni2src: do not leak pool

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