Thiago Santos [Fri, 29 May 2015 12:01:29 +0000 (09:01 -0300)]
dashdemux: avoid assertion when splitting buffer
Pass size=-1 as is if that is the case instead of subtracting
the offset. Otherwise we have an invalid size passed for that
buffer.
Santiago Carot-Nemesio [Thu, 28 May 2015 13:59:02 +0000 (15:59 +0200)]
dtlssrtpdec: Release requested pads
https://bugzilla.gnome.org/show_bug.cgi?id=750036
Santiago Carot-Nemesio [Thu, 28 May 2015 13:57:10 +0000 (15:57 +0200)]
dtlsdec: Remove unnecessary ref/unref operations
https://bugzilla.gnome.org/show_bug.cgi?id=750036
Santiago Carot-Nemesio [Thu, 28 May 2015 13:55:03 +0000 (15:55 +0200)]
dtlsdec: Fix release request pad function
Don't unref the pad reference we don't own and just remove the pad.
https://bugzilla.gnome.org/show_bug.cgi?id=750036
Edward Hervey [Thu, 28 May 2015 12:30:46 +0000 (14:30 +0200)]
hlsdemux: Search more when advancing fragment
In live situations, it is not uncommon for the current fragment to end
up out of the (updated) play range (lowest/highest sequence). But the next
fragment to play *is* present in the play range.
When advancing, if we can't find the current GstM3U8MediaFile, don't abort
straight away. Instead, look if a GstM3U8MediaFile with the next sequence value
is present, and if so switch to it.
https://bugzilla.gnome.org/show_bug.cgi?id=750028
Julien Isorce [Wed, 27 May 2015 09:58:10 +0000 (10:58 +0100)]
gl: add GstGLContextGPUProcess backend
It builds its GL vtable from a proc address provided
by the application.
Julien Isorce [Wed, 27 May 2015 15:28:39 +0000 (16:28 +0100)]
gl: add and use gst_gl_internal_format_rgba
Previously when compiling GstGL with both GL and GLES2,
GL_RGBA8 was picked from GL/gl.h. But a clash may happen at
runtime when one is selecting GLES2.
gst_gl_internal_format_rgba allows to check at runtime
if it should use GL_RGBA or GL_RGBA8.
Julien Isorce [Wed, 27 May 2015 13:10:16 +0000 (14:10 +0100)]
glwindow_x11: use parent default implementation
Julien Isorce [Wed, 27 May 2015 10:16:32 +0000 (11:16 +0100)]
glcontext_glx: rename variable from window to context
Julien Isorce [Wed, 27 May 2015 10:11:55 +0000 (11:11 +0100)]
glwindow: initialize debug in class_init
Useful if one uses gst_gl_window_x11_new directly
instead of gst_gl_window_new.
Julien Isorce [Wed, 27 May 2015 10:07:38 +0000 (11:07 +0100)]
glcontext: initialize debug in class_init
Useful if one uses gst_gl_context_egl_new directly
instead of gst_gl_context_new.
Julien Isorce [Wed, 27 May 2015 09:55:20 +0000 (10:55 +0100)]
glcontext: add gst_gl_context_set_display helper
Julien Isorce [Wed, 27 May 2015 14:25:40 +0000 (15:25 +0100)]
glcontext: add missing _CAST after G_TYPE_CHECK_CLASS
Julien Isorce [Wed, 27 May 2015 09:51:54 +0000 (10:51 +0100)]
glwindow: add missing _CAST after G_TYPE_CHECK_CLASS
Julien Isorce [Tue, 26 May 2015 17:38:39 +0000 (18:38 +0100)]
glwindow: provides some default implementations to factorize with all backends
Jan Schmidt [Wed, 27 May 2015 14:59:39 +0000 (00:59 +1000)]
aggregator: Push EOS on error return.
Before shutting down the srcpad task due to a
downstream error, push an EOS to give downstream
a chance to shut down somewhat cleanly.
Luis de Bethencourt [Wed, 27 May 2015 12:12:57 +0000 (13:12 +0100)]
mpegtsmux: don't overwrite value
Value of res is reset to FALSE in each iteration of the while loop. We want to
conserve TRUE if any pad event succeeded until we arrive to done.
Also, buf is set to the value of *outbuf twice. Removing the first assignment
since the second one is outside of a conditional.
Luis de Bethencourt [Wed, 27 May 2015 12:08:46 +0000 (13:08 +0100)]
opencv: 'for' loop initial declaration
'for' loop initial declarations are not allowed in C89, moving the declarations
to before the 'for' loops.
Luis de Bethencourt [Wed, 27 May 2015 12:05:11 +0000 (13:05 +0100)]
gleffects: 'for' loop initial declaration
'for' loop initial declarations are not allowed in C89, moving the declarations
to before the 'for' loops.
Luis de Bethencourt [Wed, 27 May 2015 11:03:42 +0000 (12:03 +0100)]
resindvd: remove unused value
The data variable is incremented but never read again. Remove the unused value
assignment.
Thiago Santos [Wed, 27 May 2015 09:17:49 +0000 (06:17 -0300)]
hlsdemux: remove more unused attributes
Those are not used or only read
Thiago Santos [Wed, 27 May 2015 08:35:30 +0000 (05:35 -0300)]
hlsdemux: remove unused attribute
It is never read for anything useful
Xavier Claessens [Tue, 26 May 2015 20:47:47 +0000 (16:47 -0400)]
gloverlay: fix a leak
https://bugzilla.gnome.org/show_bug.cgi?id=749846
Xavier Claessens [Tue, 26 May 2015 19:10:28 +0000 (15:10 -0400)]
gloverlay: properly handle errors while loading file
Post an error on the bus if anything bad happens while reading
and parsing the image file.
https://bugzilla.gnome.org/show_bug.cgi?id=749846
Xavier Claessens [Tue, 26 May 2015 19:04:34 +0000 (15:04 -0400)]
gloverlay: remove unused type_file field
https://bugzilla.gnome.org/show_bug.cgi?id=749846
Xavier Claessens [Tue, 26 May 2015 19:01:37 +0000 (15:01 -0400)]
gl: propagate return value from filter and filter_texture
https://bugzilla.gnome.org/show_bug.cgi?id=749846
Luis de Bethencourt [Tue, 26 May 2015 15:39:59 +0000 (16:39 +0100)]
dvbsuboverlay: remove unused assignment
buf is incremented just before returning, this new value is never used.
Removing unused assignment.
Luis de Bethencourt [Tue, 26 May 2015 14:24:52 +0000 (15:24 +0100)]
adaptivedemux: 'for' loop initial declaration
'for' loop initial declarations are only allowed in C89, moving the declaration
to before the 'for' loop.
Vineeth T M [Tue, 26 May 2015 13:14:34 +0000 (14:14 +0100)]
exclusion: exception when set factor to 0
When factor property is set to 0, transform just returns.
Adjust the minimum value to 1.
https://bugzilla.gnome.org/show_bug.cgi?id=743907
Matthew Waters [Tue, 26 May 2015 02:47:40 +0000 (12:47 +1000)]
gleffects: properly initialize the shaders across contexts implementing multiple API's
Matthew Waters [Tue, 26 May 2015 02:44:47 +0000 (12:44 +1000)]
gleffects_laplacian: fix shader compilation in gl3/gles2
https://bugzilla.gnome.org/show_bug.cgi?id=748393
Patricia Muscalu [Mon, 25 May 2015 10:33:50 +0000 (12:33 +0200)]
curlsink: handle socket callback for active FTP connections as well
Since version 7.28.0, libcurl allows application to set
socket options for active FTP connections.
Bump libcurl requirement to version tested.
https://bugzilla.gnome.org/show_bug.cgi?id=749815
David Waring [Wed, 20 May 2015 11:08:38 +0000 (12:08 +0100)]
dashdemux: Fix segfault introduced by segment iteration refactoring (
2105a310).
The functions to get the next fragment, next fragment timestamp and to advance
to the next fragment need to work differently when stream->segments is NULL.
Use logic similar to that introduced by commit
2105a310 to perform these
functions.
https://bugzilla.gnome.org/show_bug.cgi?id=749684
Thiago Santos [Tue, 19 May 2015 01:33:50 +0000 (22:33 -0300)]
dashdemux: use signed integet to represent segment index
We need to be able to represent -1 to check when we are EOS
on reverse playback and unsigned integer won't allow that.
CID #
1298193
CID #
1298194
CID #
1298195
https://bugzilla.gnome.org/show_bug.cgi?id=749534
Suhwang Kim [Mon, 25 May 2015 01:30:55 +0000 (10:30 +0900)]
dashdemux: fix outdated example launch line
https://bugzilla.gnome.org/show_bug.cgi?id=749809
Matthew Waters [Fri, 22 May 2015 03:12:09 +0000 (13:12 +1000)]
gl/wayland: remove dead event source code
Matthew Waters [Thu, 21 May 2015 07:48:31 +0000 (17:48 +1000)]
gl/wayland: add GstGLDisplayWayland
Simple implementation split from GstGLWindowWayland
Can now have multiple glimagesink elements all displaying output
linked via GL or otherwise (barring GL platform limitations).
The intel driver is racy and can crash setting up the two glimagesink contexts.
e.g.
videotestsrc ! tee name=t ! queue ! glupload ! glimagesinkelement
t. ! queue ! gleffects_blur ! glimagesinkelement
videotestsrc ! glupload ! glfiltercube ! tee name=t ! queue ! glimagesinkelement
t. ! queue ! gleffects_blur ! glimagesinkelement
Matthew Waters [Mon, 25 May 2015 07:27:58 +0000 (17:27 +1000)]
gltransformation: fix DrawElements call for element array buffers
https://bugzilla.gnome.org/show_bug.cgi?id=749734
Matthew Waters [Fri, 22 May 2015 15:00:18 +0000 (01:00 +1000)]
gl/calayer: provide the exact GL api version for the wrapped context
Otherwise we could end up being mistaken for the diference between a
gl3 and a gl2 context resulting in a failure getting the list of
extensions from the wrapped context due to the difference between
glGetString and glGetStringi for the GL_EXTENSIONS token.
https://bugzilla.gnome.org/show_bug.cgi?id=749728
Jimmy Ohn [Thu, 21 May 2015 17:40:37 +0000 (02:40 +0900)]
dashdemux: remove unnecessary semicolon
https://bugzilla.gnome.org/show_bug.cgi?id=749691
Xavier Claessens [Thu, 21 May 2015 19:30:34 +0000 (15:30 -0400)]
gl: win32: do not call SetParent in release_parent_win_id()
When called from gst_gl_window_win32_close(), internal window
could not exist, and if it does it's going to be destroyed just
after that anyway. Also it causes window_proc() to be called
and crash because it gets a NULL context.
When called from gst_gl_window_win32_set_window_handle() we are
going to set another parent anyway, and it's probably better to
reparent directly instead of passing by a NULL parent which could
cause the internal window to popup briefly.
https://bugzilla.gnome.org/show_bug.cgi?id=749601
Xavier Claessens [Thu, 21 May 2015 19:30:00 +0000 (15:30 -0400)]
gl: win32: remove unused code
https://bugzilla.gnome.org/show_bug.cgi?id=749601
Xavier Claessens [Wed, 20 May 2015 21:09:21 +0000 (17:09 -0400)]
gl: win32: fix crash when finalizing GstGLContext
gst_gl_context_finalize() is calling gst_gl_window_win32_quit()
which was posting a message. But then window_proc takes window's
context and get a NULL.
Now that we've got a GMainLoop we can do like other backends and
simply call g_main_loop_quit().
This also remove duplicated code to release the parent window and
potential crash there because parent_proc could be NULL if we never
created the internal window. That could happen for example if setting
state to READY then setting a window_handle, and go back to NULL state.
https://bugzilla.gnome.org/show_bug.cgi?id=749601
Xavier Claessens [Wed, 20 May 2015 21:06:42 +0000 (17:06 -0400)]
gl: win32: Fix leaked GstGLContext
https://bugzilla.gnome.org/show_bug.cgi?id=749601
Xavier Claessens [Wed, 20 May 2015 19:30:49 +0000 (15:30 -0400)]
gl: win32: set the parent window when creating internal window
When _set_window_handle() was called in READY state, it wasn't
set to the internal window created later.
https://bugzilla.gnome.org/show_bug.cgi?id=749601
Xavier Claessens [Wed, 20 May 2015 19:29:50 +0000 (15:29 -0400)]
gl: win32: use a GMainContext to dispatch win32 messages
gst_gl_window_win32_send_message_async() could be called before the
internal window is created so we cannot use PostMessage there.
x11 and wayland backends both create a custom GSource for this,
so there is no reason to not do that for win32.
https://bugzilla.gnome.org/show_bug.cgi?id=749601
Jan Schmidt [Thu, 21 May 2015 14:27:36 +0000 (00:27 +1000)]
glupload: Don't leak all memory uploaded via raw uploads.
Remove an extra ref missed when switching over to not
reusing output textures
Sebastian Dröge [Thu, 21 May 2015 13:24:48 +0000 (16:24 +0300)]
compositor/glvideomixer: Don't calculate PAR/DAR with unset GstVideoInfos
Otherwise we divide by zero.
Sebastian Dröge [Thu, 21 May 2015 13:19:08 +0000 (16:19 +0300)]
compositor: Fix double assignment
Matthew Waters [Thu, 21 May 2015 05:05:33 +0000 (15:05 +1000)]
glcontext: require a shader version to initialize.
It's very near pointless to try our GL implementation without shaders.
https://bugzilla.gnome.org/show_bug.cgi?id=749284
Jan Schmidt [Tue, 19 May 2015 16:38:53 +0000 (02:38 +1000)]
Fix flags order in GL examples for uninstalled build
Jan Schmidt [Tue, 19 May 2015 15:57:52 +0000 (01:57 +1000)]
wasapi: Fix flags order for uninstalled build
Matthew Waters [Wed, 20 May 2015 14:56:01 +0000 (00:56 +1000)]
compositor/glvideomixer: fix up par handling
We were using the wrong formula
https://bugzilla.gnome.org/show_bug.cgi?id=749634
Edward Hervey [Fri, 17 Apr 2015 13:36:49 +0000 (15:36 +0200)]
h264parse: Consider SEI NALU as "HEADER" packets
Like SPS/PPS they do contain information which will be needed to
decode the following data (as per definition of the flag)
Also ensures that the series of SPS/PPS/SEI NALU before a keyframe
can be considered as one contiguous header
Edward Hervey [Fri, 17 Apr 2015 13:35:43 +0000 (15:35 +0200)]
mpegtsmux: Carry over GST_BUFFER_FLAG_HEADER
In the same way we do it for the DELTA_UNIT flag
This allows downstream elements to know whether a given mpeg-ts
packet contains a corresponding HEADER elementary unit
Thijs Vermeir [Wed, 20 May 2015 10:11:31 +0000 (12:11 +0200)]
x265enc: Only copy VPS/SPS/PPS NAL units in header buffer
Previously the VPS unit was detected and all next packets where copied
into the header buffer assuming only SPS and PPS would follow. This is
not always true, also other types of NAL units follow the VPS unit and
where copied to the header buffer. Now the VPS/SPS/PPS are explicitely
detected and copied in the header buffer.
Thijs Vermeir [Wed, 20 May 2015 09:27:25 +0000 (11:27 +0200)]
x265enc: Fix tune parameter mismatch
There was a mismatch between the tune parameter in x265 and the enum
used in this element. The value in the enum is the x265 tune
parameter + 1.
Sebastian Dröge [Tue, 19 May 2015 15:02:30 +0000 (18:02 +0300)]
amcaudiodec: Add an output adapter for chunking the output into codec frames
Otherwise the base class will be confused.
See https://bugzilla.gnome.org/show_bug.cgi?id=685730
Xavier Claessens [Tue, 19 May 2015 14:43:28 +0000 (10:43 -0400)]
gl: fix crash on windows with intel driver
https://bugzilla.gnome.org/show_bug.cgi?id=749430
Matthew Waters [Tue, 19 May 2015 14:50:37 +0000 (00:50 +1000)]
caopengllayersink: static const the indices array
the contents will never change anyway.
Matthew Waters [Tue, 19 May 2015 14:28:52 +0000 (00:28 +1000)]
caopengllayersink: correctly use the sync meta across multiple contexts
1. Set the sync point after the (possible) upload has occured
2. Wait in the correct GL context (the draw context)
Note: We don't add the GL sync meta to the input buffer as it's not
writable and a copy would be expensive.
Similar to the change with the same name for glimagesink
Matthew Waters [Tue, 19 May 2015 14:28:07 +0000 (00:28 +1000)]
caopengllayersink: update for GL3 element array buffer usage
fixes blank output
Matthew Waters [Tue, 19 May 2015 06:22:00 +0000 (16:22 +1000)]
glimagesink: correctly use the sync meta across multiple contexts
1. Set the sync point after the (possible) upload has occured
2. Wait in the correct GL context (the draw context)
Note: We don't add the GL sync meta to the input buffer as it's not
writable and a copy would be expensive.
Matthew Waters [Tue, 19 May 2015 06:19:41 +0000 (16:19 +1000)]
gl/calayer: provide a current wrapped GstGLContext for callbacks
So that the draw and resize callbacks can get the current GstGLContext.
Matthew Waters [Tue, 19 May 2015 06:14:39 +0000 (16:14 +1000)]
glsyncmeta: ensure that the Fence is going to be executed
Otherwise it could stay client side without being submitted to the GL
server resulting in another context waiting on a Fence that will never
become signalled causing a deadlock.
Matthew Waters [Tue, 19 May 2015 01:47:23 +0000 (11:47 +1000)]
glupload: don't reuse output textures for raw data upload
Causes stale textures to be used further down the chain.
Matthew Waters [Tue, 19 May 2015 01:11:02 +0000 (11:11 +1000)]
glframebuffer: don't clear the framebuffer
Breaks attempting to blend with the destination buffer and should be done
explicitly by the callback anyway.
Matthew Waters [Tue, 19 May 2015 01:09:54 +0000 (11:09 +1000)]
glbasefilter: track gl_start/stop correctly
Don't start multiple times without calling gl_stop.
Stefan Sauer [Mon, 18 May 2015 18:16:32 +0000 (20:16 +0200)]
Revert "doc: Workaround gtkdoc issue"
This reverts commit
ff6c736fe08e01f4320c4b02e811a0b57cf97cc1.
This is fixed by the gtk-doc 1.23 release.
<para> cannot contain <refsect2>:
http://www.docbook.org/tdg/en/html/para.html
http://www.docbook.org/tdg/en/html/refsect2.html
Jimmy Ohn [Wed, 13 May 2015 17:11:50 +0000 (02:11 +0900)]
hlsdemux: Simplify logic in process_manifest
Simplify logic in process_manifest and remove a TODO item.
https://bugzilla.gnome.org/show_bug.cgi?id=749328
Vineeth T M [Mon, 18 May 2015 05:12:56 +0000 (14:12 +0900)]
cvsmooth: rename properties
The properties are named as param1 to param4, which makes very little sense
hence renamed the properties according to what it is doing.
https://bugzilla.gnome.org/show_bug.cgi?id=749523
Vineeth T M [Mon, 18 May 2015 05:01:59 +0000 (14:01 +0900)]
cvsmooth: Wrong assignment of prop leads to crash
when setting param2 property, it is wrongly being assigned to param1.
This leads to wrong behavior and a crash when param2 is set as 0.
https://bugzilla.gnome.org/show_bug.cgi?id=749523
Vineeth T M [Mon, 18 May 2015 05:30:19 +0000 (14:30 +0900)]
pyramidsegment: wrong value of level property
The property level has a minimum value of 0. But when we set the level as 0,
it gets an assertion error. The function icvPyrSegmentation8uC3R returns false
if level is set as 0, since the minimum level cant be 0 and thus results in error.
Hence changing the minimum value to 1.
https://bugzilla.gnome.org/show_bug.cgi?id=749525
Nicolas Dufresne [Sun, 17 May 2015 03:38:14 +0000 (23:38 -0400)]
doc: Workaround gtkdoc issue
With gtkdoc 1.22, the XML generator fails when a itemizedlist is
followed by a refsect2. Workaround the issue by wrapping the
refsect2 into para.
Vincent Penquerc'h [Wed, 6 May 2015 14:17:24 +0000 (15:17 +0100)]
tsdemux: fix buffer timestamp not being in stream time
Timestamps should start at the segment start, rather than 0, so
we need to not subtract the first timestamp. This makes the sink
correctly account for running time when switching PMTs where a
stream starts not quite at zero, causing timing offsets that can
become noticeable and causing dropped frames after a few times.
Vincent Penquerc'h [Wed, 6 May 2015 14:16:37 +0000 (15:16 +0100)]
tsdemux: accumulate previous segment base time
Vincent Penquerc'h [Fri, 24 Apr 2015 11:56:02 +0000 (12:56 +0100)]
tsdemux: fix refcounting when applying a new PMT
A new program object is created to replace an existing one
in the programs hash table, so its refcount needs to match.
With the default of 0 refcount on creation, the next PAT
change will cause that refcount to be both incremented and
decremented (assuming the new PAT references that stream too),
which will cause the program to be destroyed.
https://bugzilla.gnome.org/show_bug.cgi?id=748412
Jose Antonio Santos Cadenas [Thu, 14 May 2015 14:06:55 +0000 (16:06 +0200)]
dtls: Fix memory leak
Keys were not correctly released when it was get as a property
nor when a second key was received
https://bugzilla.gnome.org/show_bug.cgi?id=749380
Matthew Waters [Thu, 14 May 2015 11:21:01 +0000 (21:21 +1000)]
glimagesink: free the vertex buffer when done
fixes a memory leak
Matthew Waters [Thu, 22 Jan 2015 07:00:36 +0000 (18:00 +1100)]
glcontext/cocoa: implement GL3 core context selection
Matthew Waters [Thu, 14 May 2015 08:35:35 +0000 (18:35 +1000)]
tests/gl: fix typo
Matthew Waters [Thu, 14 May 2015 06:42:09 +0000 (16:42 +1000)]
gl: remove useless gl{En,Dis}able (GL_TEXTURE_*) calls
We are using shaders everywhere and so they are not needed
Matthew Waters [Thu, 14 May 2015 05:10:59 +0000 (15:10 +1000)]
glimagesink: cleanup properties
remove unused "display-name"
ensure defaults between the bin/element are the same
Matthew Waters [Thu, 14 May 2015 04:56:30 +0000 (14:56 +1000)]
gleffects: only try the GL2 shader init path if we have a GL2 context
Matthew Waters [Tue, 12 May 2015 12:04:26 +0000 (22:04 +1000)]
glshader: attempt to detect the gles2 inside opengl3 case
This is necessary to use gles2 shaders in a GL 3 core context on
OS X which fails without a proper #version being set on the shaders.
Matthew Waters [Tue, 12 May 2015 07:55:43 +0000 (17:55 +1000)]
glshader: remove references to gl3 specific shaders
We rely specifically on gles2 shaders being supported by the GL
implementation with GL3 core profile.
Matthew Waters [Fri, 1 May 2015 02:04:28 +0000 (12:04 +1000)]
gl: element buffers are part of vao state
Use them as such. They are also required for GL3 core profile support
with glDrawElements on OS X.
Matthew Waters [Thu, 7 May 2015 05:25:10 +0000 (12:25 +0700)]
glmemory: properly detect (hopefully) the correct ext_rg/arb_rg variant
GL_EXT_texture_rg is only valid for GLES2. GLES3 uses similar wording to
the GL_ARB_texture_rg which requires a sized internal format that the
GL_EXT_texture_rg does not require.
https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_rg.txt
https://www.opengl.org/registry/specs/ARB/texture_rg.txt
Matthew Waters [Thu, 14 May 2015 03:04:21 +0000 (13:04 +1000)]
compositor: implement proper par handling
We were previously failing on different input and output par
Thiago Santos [Tue, 12 May 2015 16:41:19 +0000 (13:41 -0300)]
dashdemux: avoid busy-looping when waiting for new fragment
When all fragments have already been downloaded on a live stream
dashdemux would busy loop as the default implementation of
has_next_fragment would return TRUE. Implement it to correctly
signal if adaptivedemux should wait for the manifest update before
trying to get new fragments.
Thiago Santos [Mon, 11 May 2015 17:19:20 +0000 (14:19 -0300)]
dashdemux: Improve live stream manifest update repositioning
When updating the manifest the timestamps on it might have changed a little
due to rounding and timescale conversions. If the change makes the timestamp
of the current segment to go up it makes dashdemux reposition to the previous
one causing one extra unnecessary download.
So when repositioning add an extra 10 microseconds to cover for that rounding
issues and increase the chance of falling in the same segment.
Additionally, also improve the time used when the client is already after the
last segment. Instead of using the last segment starting timestamp use the
final timestamp to make it reposition to the next one and not to the one that
has already been downloaded.
Thiago Santos [Mon, 11 May 2015 15:30:03 +0000 (12:30 -0300)]
dashdemux: add more protection when acessing gptrarray entries
The glib structure doesn't do range checking so we have to do it
ourselves.
Also adds some more debugging messages
Thiago Santos [Fri, 8 May 2015 19:58:36 +0000 (16:58 -0300)]
dashdemux: remove unused functions
These functions of directly getting and setting segment indexes
are no longer useful as now we need 2 indexes: repeat and segment
index.
The only operations needed are advance_segment, going back to the
first one or seeking for a timestamp.
Thiago Santos [Fri, 8 May 2015 19:49:02 +0000 (16:49 -0300)]
dashdemux: reuse seeking function to reduce repeated code
Instead of writing a seek routine, just use the mpdparser function.
Also remove function that is not needed anymore
Thiago Santos [Fri, 8 May 2015 19:31:44 +0000 (16:31 -0300)]
dashdemux: refactor segment iteration for better performance
Segments are now stored with their repeat counts instead of spanding
them to multiple segments. This caused advancing to the next segment
using a single index to have to iterate over the whole list every time.
This commit addresses this by storing both the segment index as well
as the repeat index and makes advancing to next segment just an
increment of the repeat or the segment index.
Thiago Santos [Thu, 7 May 2015 19:30:48 +0000 (16:30 -0300)]
dashdemux: improve mpd parsing for repeated segment entries
Use a single segment to represent it internally to avoid using too
much memory. This has the drawback of issuing a linear search to
find the correct segment to play but this can be fixed by using
binary searches or caching the current position and just looking
for the next one.
https://bugzilla.gnome.org/show_bug.cgi?id=748369
Thiago Santos [Tue, 12 May 2015 15:55:42 +0000 (12:55 -0300)]
adaptivedemux: drop debug message that was wrong
EOS doesn't necessarily mean that no fragment was downloaded
Thiago Santos [Tue, 12 May 2015 15:55:17 +0000 (12:55 -0300)]
adaptivedemux: run gst-indent
To allow commiting on this file cleanly
Thiago Santos [Mon, 11 May 2015 14:56:52 +0000 (11:56 -0300)]
mpegtsmux: the parent is provided in the function
No need to get it again
Jose Antonio Santos Cadenas [Wed, 13 May 2015 13:59:48 +0000 (15:59 +0200)]
dtlsenc: Fix memory leak releasing connection_id
https://bugzilla.gnome.org/show_bug.cgi?id=749318