platform/upstream/gstreamer.git
10 years agogltransformation: requires graphene 1.0.0
Lubosz Sarnecki [Tue, 30 Sep 2014 12:58:06 +0000 (14:58 +0200)]
gltransformation: requires graphene 1.0.0

10 years agogltransformation: graphene multiplication order has changed
Lubosz Sarnecki [Thu, 25 Sep 2014 15:01:31 +0000 (17:01 +0200)]
gltransformation: graphene multiplication order has changed

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

10 years agoglvideomixer: update element documentation
Matthew Waters [Tue, 30 Sep 2014 10:39:36 +0000 (20:39 +1000)]
glvideomixer: update element documentation

10 years agotests/glcolorconvert: do reorder checking for rgba formats
Matthew Waters [Tue, 30 Sep 2014 08:26:34 +0000 (18:26 +1000)]
tests/glcolorconvert: do reorder checking for rgba formats

10 years agoglcolorconvert: convert xRGB into ARGB properly
Matthew Waters [Tue, 30 Sep 2014 04:46:14 +0000 (14:46 +1000)]
glcolorconvert: convert xRGB into ARGB properly

The alpha channel might not be the last component so check which one
it is in and clobber that one instead.

10 years agotests/glmemory: add simple transfer test
Matthew Waters [Mon, 29 Sep 2014 15:45:20 +0000 (01:45 +1000)]
tests/glmemory: add simple transfer test

tests transferring to/from the GL with a 1x1 RGBA pixel.

10 years agoglmemory: unset the opposite corresponding transfer flags when mapped with write
Matthew Waters [Mon, 29 Sep 2014 15:38:05 +0000 (01:38 +1000)]
glmemory: unset the opposite corresponding transfer flags when mapped with write

fixes consistency with consecutive gst_memory_map()'s with
flags & GST_MAP_WRITE

10 years agogl/cocoa: Update viewport according to the current clipping
Sebastian Dröge [Mon, 29 Sep 2014 06:33:42 +0000 (09:33 +0300)]
gl/cocoa: Update viewport according to the current clipping

We have to update the GL viewport if the NSView is only partially
visible. Otherwise the content of the frame will be visibly offset.

10 years agotsdemux: do not discard on discont if PES start
Jesper Larsen [Mon, 29 Sep 2014 08:01:27 +0000 (10:01 +0200)]
tsdemux: do not discard on discont if PES start

If a discontinuity in the stream is detected, data is discarded until
a new PES starts. If the first packet after the discontinuity is also
the start of a PES, there is no reason to discard the packets.

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

10 years agodash: Use GstUri to join URIs
David Waring [Thu, 31 Jul 2014 21:57:40 +0000 (22:57 +0100)]
dash: Use GstUri to join URIs

10 years agogl/cocoa: Improve the NSApplication initialization
Sebastian Dröge [Mon, 29 Sep 2014 07:49:46 +0000 (10:49 +0300)]
gl/cocoa: Improve the NSApplication initialization

This is only for non-Cocoa apps but previously caused a 2 second
waiting during startup for Cocoa apps. This is unacceptable.

Instead we now check a bit more extensive if something actually
runs on the GLib default main context, and if not don't even
bother waiting for something to happen from there.

10 years agogl/cocoa: NSView::drawRect() should call into reshape too
Sebastian Dröge [Mon, 29 Sep 2014 06:24:49 +0000 (09:24 +0300)]
gl/cocoa: NSView::drawRect() should call into reshape too

We a) need to render again because part of the window was
obscured and b) might need to reshape because of clipping
changes.

10 years agogl/cocoa: Call UI related API from the application main thread
Sebastian Dröge [Fri, 26 Sep 2014 11:21:46 +0000 (14:21 +0300)]
gl/cocoa: Call UI related API from the application main thread

10 years agogl/cocoa: Switch to a plain NSView subclass instead of NSOpenGLView
Sebastian Dröge [Fri, 26 Sep 2014 10:05:27 +0000 (13:05 +0300)]
gl/cocoa: Switch to a plain NSView subclass instead of NSOpenGLView

We don't and can't use NSOpenGLView as it's supposed to be used and
it gets into our way by being to clever in various situations.

10 years agoglcontext: Initialize variable
Edward Hervey [Mon, 29 Sep 2014 06:54:29 +0000 (08:54 +0200)]
glcontext: Initialize variable

Avoids the following warning:

gstglcontext.c:647:58: error: 'prev' may be used uninitialized in
 this function [-Werror=maybe-uninitialized]

10 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.

10 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

10 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.

10 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

10 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.

10 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.

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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).

10 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

10 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

10 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

10 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.

10 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

10 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

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

10 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.

10 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.

10 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.

10 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.

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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.

10 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.

10 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

10 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.

10 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

10 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

10 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.

10 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.

10 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

10 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

10 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

10 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

10 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

10 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.

10 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.

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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...

10 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.

10 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.

10 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

10 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

10 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.

10 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

10 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

10 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

10 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

10 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

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

10 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

10 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

10 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.

10 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.

10 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.

10 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()

10 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