Sungho Bae [Tue, 10 Jun 2014 13:35:38 +0000 (09:35 -0400)]
bytereader: Use pointer instead of index access
Currently the scan uses Boyer-moore method and its performance is good.
but, it can be optimized from an implementation of view.
The original scan code is implemented by byte array and index-based access.
In _scan_for_start_code(), the index is increasing from start to end and the
base address of the byte array is referred to as return value.
In the case, index-based access can be replaced by pointer access, which
improve the performance by removing index-related operations.
Its performace is enhanced by approximately 8% on arm-based embedded devices.
Although it seems trivial, it can affect the overall performance because the
_scan_for_start_code() function is very often called when H.264/H.265 video is
played.
In addition, the technique can apply for all architectures and it is good in
view of readability and maintainability.
https://bugzilla.gnome.org/show_bug.cgi?id=731442
Tim-Philipp Müller [Sat, 7 Jun 2014 09:13:56 +0000 (10:13 +0100)]
globaldevicemonitor: prettify header
Tim-Philipp Müller [Sat, 7 Jun 2014 08:46:42 +0000 (09:46 +0100)]
tests: add unit test for queuearray expansion from 1
https://bugzilla.gnome.org/show_bug.cgi?id=731349
Evan Nemerson [Fri, 6 Jun 2014 23:36:00 +0000 (16:36 -0700)]
queuearray: fix expanding size of queue from 1
Without we would not actually expand and access
memory beyond the allocated region for the array.
https://bugzilla.gnome.org/show_bug.cgi?id=731349
Evan Nemerson [Thu, 5 Jun 2014 23:55:15 +0000 (16:55 -0700)]
dataqueue: clear up documentation of gst_data_queue_new
The gpointer argument is passed to all three callbacks, not just one.
https://bugzilla.gnome.org/show_bug.cgi?id=731302
Evan Nemerson [Fri, 30 May 2014 07:17:06 +0000 (00:17 -0700)]
introspection: fix some minor annotation bugs
https://bugzilla.gnome.org/show_bug.cgi?id=730982
Evan Nemerson [Thu, 5 Jun 2014 19:38:20 +0000 (12:38 -0700)]
base: use correct syntax in documentation more consistently
Previously, many constants were prefixed with # or unprefixed,
some functions and macros were prefixed with # instead of suffixed
with (), etc.
https://bugzilla.gnome.org/show_bug.cgi?id=731293
zhouming [Wed, 7 May 2014 10:26:38 +0000 (18:26 +0800)]
baseparse: Pass rate of input segment to output segment
https://bugzilla.gnome.org/show_bug.cgi?id=729701
Vincent Penquerc'h [Mon, 7 Apr 2014 13:49:59 +0000 (14:49 +0100)]
gstbuffer: factor three flags-to-string loops
Tim-Philipp Müller [Tue, 3 Jun 2014 22:42:45 +0000 (23:42 +0100)]
info: make printing datetimes work with GST_PTR_FORMAT
Tim-Philipp Müller [Tue, 3 Jun 2014 22:38:28 +0000 (23:38 +0100)]
datetime: change internal implementation to mini object
And move type stuff from GstValue to GstDateTime.
Wim Taymans [Tue, 3 Jun 2014 20:19:33 +0000 (22:19 +0200)]
downloadbuffer: fix uninitialized variable
Wim Taymans [Tue, 3 Jun 2014 20:12:13 +0000 (22:12 +0200)]
downloadbuffer: improve start/stop in buffering query
The start and stop should represent the currently downloading region.
The estimated-total should represent the remaining time to download
the currently downloading region. This makes it a lot more useful
for applications because they can then use those values to update
the fill region and use the estimated time to delay playback.
Update the docs with this clarification.
Vincent Penquerc'h [Mon, 7 Apr 2014 13:35:04 +0000 (14:35 +0100)]
identity: add static and const where appropriate
Vincent Penquerc'h [Mon, 7 Apr 2014 13:31:17 +0000 (14:31 +0100)]
identity: fix potential buffer overflow
Coverity 1037155
Wim Taymans [Tue, 3 Jun 2014 12:49:44 +0000 (14:49 +0200)]
downloadbuffer: reset read and write positions
Reset the read and write positions right after we open the file or flush
it. We are also in the buffering state with 0 percent buffered when we
start.
Wim Taymans [Tue, 3 Jun 2014 12:47:17 +0000 (14:47 +0200)]
info: first handle all miniobjects, then GObjects
First handle all miniobjects before we attempt to dereference the first
field pointer and look at the GType. With the recent glib change to
speed up G_IS_OBJECT, this causes crashes on miniobjects otherwise.
Wim Taymans [Tue, 3 Jun 2014 12:46:11 +0000 (14:46 +0200)]
info: GstDateTime does not have a GType as first field
GstDateTime does not have the GType as the first field so we can't use
it to detect its type.
Wim Taymans [Tue, 3 Jun 2014 12:45:22 +0000 (14:45 +0200)]
info: use macros to check types
Use the macros to check the type of objects instead of directly poking
at the first field.
Tim-Philipp Müller [Sun, 1 Jun 2014 22:51:20 +0000 (23:51 +0100)]
globaldevicemonitor: connect sync-message signal on the right object
Fixes criticals at runtime and makes stuff actually work.
Sebastian Dröge [Sat, 31 May 2014 15:35:52 +0000 (17:35 +0200)]
typefind: Keep still meaningfull pending events on FLUSH_STOP
Only EOS and segment should be deleted in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=709868
Sebastian Dröge [Fri, 30 May 2014 07:13:12 +0000 (09:13 +0200)]
Revert "miniobject: Add missing (nullable) annotations"
This reverts commit
96361e9b5c5d00dc7712ff3a9acfbe10df7cd9fe.
This was not supposed to be pushed yet!
Sebastian Dröge [Fri, 30 May 2014 07:12:14 +0000 (09:12 +0200)]
bufferpool: It's pool, not poo... even when talking about flushing
Philip Withnall [Wed, 28 May 2014 09:14:45 +0000 (10:14 +0100)]
miniobject: Add missing (nullable) annotations
gst_mini_object_replace() can take NULL mini-objects.
https://bugzilla.gnome.org/show_bug.cgi?id=730873
Thiago Santos [Fri, 30 May 2014 04:42:17 +0000 (01:42 -0300)]
tests: multiqueue: fix leaks
Evan Nemerson [Thu, 29 May 2014 21:54:34 +0000 (14:54 -0700)]
docs: convert NULL, TRUE, and FALSE to %NULL, %TRUE, and %FALSE
This should help improve documentation generated for
languages other than C.
https://bugzilla.gnome.org/show_bug.cgi?id=730961
Tim-Philipp Müller [Thu, 29 May 2014 23:13:30 +0000 (00:13 +0100)]
docs: fix type in GstObject docs
Evan Nemerson [Thu, 29 May 2014 22:04:45 +0000 (15:04 -0700)]
bufferpool: fix gst_buffer_pool_has_option() documentation
https://bugzilla.gnome.org/show_bug.cgi?id=730962
Thiago Santos [Thu, 29 May 2014 17:07:15 +0000 (14:07 -0300)]
element: set pads need-parent flag to false when removing
When a pad is added the need-parent flag is set to true, so when
they are removed the flag should be set back to false
This was preventing GstPads to be reused in elements (removed and
later re-added). A unit tests was added to verify that this is
working now.
The use case is tsdemux that has a program-number property and
allows the user to switch programs. In order to do that tsdemux
will remove the pads of the current program and add from the new
ones. The removed pads are kept in the demuxer for later if the
user selects the old program again.
Thiago Santos [Tue, 27 May 2014 11:09:36 +0000 (08:09 -0300)]
multiqueue: post buffering message when queues flush
The buffering status goes back to 0, so inform the application about it
https://bugzilla.gnome.org/show_bug.cgi?id=726423
Nicolas Dufresne [Thu, 29 May 2014 18:39:36 +0000 (14:39 -0400)]
gitignore: Ignore VIM swap files
Tim-Philipp Müller [Tue, 27 May 2014 12:36:29 +0000 (13:36 +0100)]
pad: two minor docs fixes
Tim-Philipp Müller [Tue, 27 May 2014 09:09:02 +0000 (10:09 +0100)]
flowcombiner: beautify headers a little
Tim-Philipp Müller [Tue, 27 May 2014 09:05:51 +0000 (10:05 +0100)]
docs: add GstFlowCombiner
Tim-Philipp Müller [Tue, 27 May 2014 08:55:27 +0000 (09:55 +0100)]
base: include flowcombiner header from base.h
Thiago Santos [Mon, 26 May 2014 15:31:33 +0000 (12:31 -0300)]
flowcombiner: add GstFlowCombiner
Adds a utility struct that is capable of storing and aggregating flow returns
associated with pads.
This way all demuxers will have a standard function to use and have the
same expected results.
Includes tests.
https://bugzilla.gnome.org/show_bug.cgi?id=709224
Thiago Santos [Fri, 23 May 2014 16:25:35 +0000 (13:25 -0300)]
pad: store last flow return and provide acessor function
Stores the last result of a gst_pad_push or a pull on the GstPad and provides
a getter and a macro to access this field.
Whenever the pad is inactive it is set to FLUSHING
API: gst_pad_get_last_flow_return
https://bugzilla.gnome.org/show_bug.cgi?id=709224
Nicolas Dufresne [Fri, 23 May 2014 19:26:59 +0000 (15:26 -0400)]
bufferpool: Add method and virtuals to set flushing state
Currently there is no other way to unlock a buffer pool other then
stopping it. This may have the effect of freeing all the buffers,
which is too heavy for a seek. This patch add a method to enter and
leave flushing state. As a convenience, flush_start/flush_stop
virtual are added so pool implementation can also unblock their own
internal poll atomically with the rest of the pool. This is fully
backward compatible with doing stop/start to actually flush the pool
(as being done in GstBaseSrc).
https://bugzilla.gnome.org/show_bug.cgi?id=727611
Sebastian Dröge [Mon, 26 May 2014 12:23:13 +0000 (14:23 +0200)]
basetransform: Passthrough ALLOCATION queries in passthrough mode even if we had no caps yet
Or if the element does not care about caps at all.
Also remove an assigned but unused local variable.
https://bugzilla.gnome.org/show_bug.cgi?id=710268
Tim-Philipp Müller [Sun, 25 May 2014 15:10:30 +0000 (16:10 +0100)]
po: update
Piotr Drąg [Sun, 25 May 2014 14:57:59 +0000 (16:57 +0200)]
po: update POTFILES
https://bugzilla.gnome.org/show_bug.cgi?id=730718
Sebastian Dröge [Wed, 21 May 2014 11:23:21 +0000 (13:23 +0200)]
Back to development
Sebastian Dröge [Wed, 21 May 2014 11:06:34 +0000 (13:06 +0200)]
Release 1.3.2
Sebastian Dröge [Wed, 21 May 2014 09:39:53 +0000 (11:39 +0200)]
Update .po files
Sebastian Dröge [Wed, 21 May 2014 08:50:43 +0000 (10:50 +0200)]
Automatic update of common submodule
From 211fa5f to 1f5d3c3
Sebastian Dröge [Mon, 19 May 2014 09:05:12 +0000 (11:05 +0200)]
value: Add some positive testcase for string deserialization
Tim-Philipp Müller [Sun, 18 May 2014 09:49:50 +0000 (10:49 +0100)]
docs: remove reference to Mandrake and packages we no longer provide
https://bugzilla.gnome.org/show_bug.cgi?id=730312
Wim Taymans [Thu, 15 May 2014 14:41:58 +0000 (16:41 +0200)]
docs: fix typo
Tim-Philipp Müller [Wed, 14 May 2014 12:40:03 +0000 (13:40 +0100)]
pluginloader: fix compiler warning on windows
gstpluginloader.c:584:1: error: label 'beach' defined but not used
https://bugzilla.gnome.org/show_bug.cgi?id=730125
Tim-Philipp Müller [Tue, 13 May 2014 18:51:34 +0000 (19:51 +0100)]
elements: don't depend on libgio just for g_io_error_from_errno()
https://bugzilla.gnome.org/show_bug.cgi?id=729949
Tim-Philipp Müller [Tue, 13 May 2014 18:30:38 +0000 (19:30 +0100)]
sparsefile: keep it private as helper API for downloadbuffer
There's no expectation that any other element or applications
might want to use this helper API any time soon, so keep it
private for the time being. There were open questions regarding
portability and binding-friendliness too.
This also removes the gio dependency of -base again.
https://bugzilla.gnome.org/show_bug.cgi?id=729951
https://bugzilla.gnome.org/show_bug.cgi?id=729949
Tim-Philipp Müller [Tue, 13 May 2014 18:14:08 +0000 (19:14 +0100)]
docs: pick up GstBaseParse hierarchy and properties
Tim-Philipp Müller [Tue, 13 May 2014 18:10:43 +0000 (19:10 +0100)]
docs: expose GstPushSrcClass in documentation
Might come in handy in case someone wants to derive from it.
Edward Hervey [Mon, 12 May 2014 15:03:46 +0000 (17:03 +0200)]
pluginloader: Don't leak pluginloader in error cases
CID #1212154
Edward Hervey [Mon, 12 May 2014 14:59:29 +0000 (16:59 +0200)]
caps: Don't leak features on error cases
If we fail to parse fields, we would end up leaking the features we
parsed just before
CID #1212152
Nicolas Dufresne [Fri, 9 May 2014 18:28:59 +0000 (14:28 -0400)]
basetransform: Correctly reset configuration
When pool can't we use, and we fall back to default pool, we need to
correctly reset that pool configuration.
Edward Hervey [Fri, 9 May 2014 12:46:59 +0000 (14:46 +0200)]
nettimeprovider: Use non-freed variable
address is only used temporarily. Use the proper variable instead.
CID #1212189
Thiago Santos [Thu, 8 May 2014 20:33:37 +0000 (17:33 -0300)]
tests: multiqueue: test to check queue overrun with pts=none
Checks if buffers with pts=none can break the queue time size limit
and allow more buffers than expected
Nicolas Dufresne [Thu, 8 May 2014 18:48:00 +0000 (14:48 -0400)]
downloadbuffer: Fix 32bit build
format '%lli' expects argument of type 'long long int', but argument 8 has type 'gsize'
Nicolas Dufresne [Thu, 8 May 2014 18:12:16 +0000 (14:12 -0400)]
pool-nego: Correctly reset the configuration
When pool cannot be used, correctly reset the configuration before
configuration a default pool.
Nicolas Dufresne [Tue, 15 Apr 2014 18:17:00 +0000 (14:17 -0400)]
pool-nego: Retry setting configuration with modified config
Buffer pool set_config() may return FALSE if requested configuration needed
small changes. Reget the config and try setting it again (validating the
changes first). This ensure we have a configured pool if possible.
https://bugzilla.gnome.org/show_bug.cgi?id=727916
Nicolas Dufresne [Thu, 8 May 2014 16:47:43 +0000 (12:47 -0400)]
bufferpool: Add an helper to validate config
When we call gst_buffer_pool_set_config() the pool may return FALSE and
slightly change the parameters. This helper is useful to do the minial required
validation before accepting the modified configuration.
https://bugzilla.gnome.org/show_bug.cgi?id=727916
Nicolas Dufresne [Tue, 8 Apr 2014 23:27:55 +0000 (19:27 -0400)]
bufferpool: Update the configure even if set_config() returned false
According to the documentation, when set_config() return false, it should be
possible to read the modified version of the config. This patch fixes the
implementation so it is now according to the documentation.
https://bugzilla.gnome.org/show_bug.cgi?id=727916
Nicolas Dufresne [Tue, 6 May 2014 19:35:14 +0000 (15:35 -0400)]
bufferpool: Add support for reconfiguring a pool
If a pool config is being configured again, check if the configuration have changed.
If not, skip that step. Finally, if the pool is active, try deactivating it.
https://bugzilla.gnome.org/show_bug.cgi?id=728268
Nicolas Dufresne [Tue, 6 May 2014 20:59:34 +0000 (16:59 -0400)]
value: Add support for GstAllocationParams comparision
This is useful to compare buffer pool configuaration.
https://bugzilla.gnome.org/show_bug.cgi?id=728268
Nicolas Dufresne [Tue, 6 May 2014 20:46:55 +0000 (16:46 -0400)]
value: Add support for GObject comparising in structures
This is useful to allow comparing pool configuration where a GstAllocator
is set.
https://bugzilla.gnome.org/show_bug.cgi?id=728268
Tim-Philipp Müller [Thu, 8 May 2014 16:50:50 +0000 (17:50 +0100)]
plugin: fix case where gst_plugin_load_file() didn't set the error on failure
Tim-Philipp Müller [Thu, 8 May 2014 15:30:55 +0000 (16:30 +0100)]
sparsefile: add some Since markers to docs
Tim-Philipp Müller [Thu, 8 May 2014 15:25:55 +0000 (16:25 +0100)]
sparsefile: sprinkle G_BEGIN_DECLS / G_END_DECLS
for c++, and remove outdated comment, and add
new unit test to .gitignore.
Wim Taymans [Thu, 8 May 2014 14:49:53 +0000 (16:49 +0200)]
downloadbuffer: small cleanups
Wim Taymans [Thu, 8 May 2014 12:51:12 +0000 (14:51 +0200)]
downloadbuffer: update docs
Wim Taymans [Thu, 8 May 2014 12:50:42 +0000 (14:50 +0200)]
win32: update def
Wim Taymans [Fri, 21 Feb 2014 15:32:52 +0000 (16:32 +0100)]
Add new downloadbuffer element
See https://bugzilla.gnome.org/show_bug.cgi?id=680183
Wim Taymans [Fri, 2 May 2014 15:42:58 +0000 (17:42 +0200)]
pads: update docs for request pads
We would like to encourage the use of gst_element_request_pad()
Tim-Philipp Müller [Fri, 2 May 2014 16:02:37 +0000 (17:02 +0100)]
check: use _exit() instead of exit() in fail_unless() so we exit immediately
exit() will call atexit handlers, which may try to
clean up things or wait for things to get cleaned up,
which we don't want or need. We just want to stop
and let the parent know about the failure as quickly
as possible in case fork() is used.
Fixes timeouts on assert failures in checks where
an exit handler waits for things to stop, but they
don't stop because they haven't been shut down,
and they haven't been shut down because there's no
simple way to do so on failures.
http://sourceforge.net/p/check/patches/50/
Tim-Philipp Müller [Sun, 4 May 2014 13:52:01 +0000 (14:52 +0100)]
value: init flag mask more correctly
Руслан Ижбулатов [Sun, 4 May 2014 13:32:46 +0000 (13:32 +0000)]
filesrc: g_memmove() is deprecated
https://bugzilla.gnome.org/show_bug.cgi?id=712811
Sebastian Dröge [Sat, 3 May 2014 18:48:22 +0000 (20:48 +0200)]
Back to development
Sebastian Dröge [Sat, 3 May 2014 15:41:41 +0000 (17:41 +0200)]
Release 1.3.1
Sebastian Dröge [Sat, 3 May 2014 15:34:08 +0000 (17:34 +0200)]
Update .po files
Sebastian Dröge [Sat, 3 May 2014 15:20:46 +0000 (17:20 +0200)]
po: Update translations
Tim-Philipp Müller [Sat, 3 May 2014 11:14:43 +0000 (12:14 +0100)]
docs: add new device probing API to docs table of contents
https://bugzilla.gnome.org/show_bug.cgi?id=729440
Nicolas Dufresne [Sat, 3 May 2014 02:22:03 +0000 (22:22 -0400)]
doc: Add GstDevice* to gstreamer-sections.txt
https://bugzilla.gnome.org/show_bug.cgi?id=729440
Sebastian Dröge [Sat, 3 May 2014 08:14:40 +0000 (10:14 +0200)]
Automatic update of common submodule
From bcb1518 to 211fa5f
Nicolas Dufresne [Thu, 1 May 2014 14:37:18 +0000 (10:37 -0400)]
basesink: Always render prepared buffer
Currently, if prepare() takes too much time, we skip the call to render().
The side effect of this, is that we endup starving the render(). The solution
in this patch is to always render frames that are on time before prepare() is
executed. This will maximize the number of frames we display and smoothly
degrade the rendering performance.
https://bugzilla.gnome.org/show_bug.cgi?id=729335
Luis de Bethencourt [Thu, 1 May 2014 18:52:24 +0000 (14:52 -0400)]
scripts/git-version.sh: add more modules
Add more git repositories to check (so git-version.sh is consistent with
gst-uninstalled) and display the date of the last commit, which is more valuable
information than the last commit's hash.
Sebastian Dröge [Thu, 1 May 2014 16:42:47 +0000 (18:42 +0200)]
bin: Always first post the state-changed message for PAUSED->READY before posting any pending EOS message
https://bugzilla.gnome.org/show_bug.cgi?id=727949
Sebastian Dröge [Thu, 17 Apr 2014 19:10:55 +0000 (21:10 +0200)]
basesink: Add test for checking that EOS always comes after the state change to PLAYING
https://bugzilla.gnome.org/show_bug.cgi?id=727949
Stian Selnes [Tue, 15 Apr 2014 13:55:25 +0000 (15:55 +0200)]
bufferpool: fix log message of buffer pointer
Luis de Bethencourt [Wed, 30 Apr 2014 22:20:28 +0000 (18:20 -0400)]
scripts/git-version.sh: remove unused variable
Luis de Bethencourt [Wed, 30 Apr 2014 14:47:19 +0000 (10:47 -0400)]
scripts/git-version.sh: fix mistaken comments
Thiago Santos [Mon, 28 Apr 2014 16:02:11 +0000 (13:02 -0300)]
multiqueue: avoid signaling overrun on the first segment
When the first segment has position != 0 and position > max-size-time
it will immediatelly cause the multiqueue to signal overrun.
This can happen easily with adaptive streams when switching bitrates
and starting a new group. The segment for this new group will have
a position that is much greater than 0 and will lead to this issue.
This is particularly harmful when the adaptive stream uses mpegts
that doesn't emit no-more-pads and it might happen that only one
of the stream pads was added when the multiqueue overruns and gets
the group ready for exposing. So the user will only get audio or
video.
The solution is to fallback to the sink segment while the source pad
has no segment.
https://bugzilla.gnome.org/show_bug.cgi?id=729124
Xavi Artigas [Mon, 28 Apr 2014 08:14:50 +0000 (10:14 +0200)]
docs: enhancements to porting guide documentation
https://bugzilla.gnome.org/show_bug.cgi?id=727754
Sebastian Dröge [Mon, 28 Apr 2014 07:43:32 +0000 (09:43 +0200)]
query: Add boolean to URI query to specify if a redirect is permanent or not
Srimanta Panda [Fri, 25 Apr 2014 07:38:00 +0000 (07:38 +0000)]
funnel: Check if the last pad was set
If no data is coming but only EOS is sent from all of the sinkpad, it is not
forwarding the EOS.
https://bugzilla.gnome.org/show_bug.cgi?id=727945
Felipe Ortiz [Sat, 26 Apr 2014 16:02:18 +0000 (17:02 +0100)]
docs: add docs for various GstPad macros
https://bugzilla.gnome.org/show_bug.cgi?id=723652
Tim-Philipp Müller [Sat, 26 Apr 2014 22:12:13 +0000 (23:12 +0100)]
Revert "docs: add docs for various GstPad macros"
This reverts commit
d17438d5fd321daec4adbeb28a8fb5d5e07298dc.
This commit featured the wrong author, sorry.
Tim-Philipp Müller [Sat, 26 Apr 2014 20:21:51 +0000 (21:21 +0100)]
docs: remove outdated and pointless 'Last reviewed' lines from docs
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
Nicolas Dufresne [Wed, 26 Mar 2014 19:56:08 +0000 (15:56 -0400)]
buffer: Only set TAG_MEMORY if the memory has been replaced
Currently we set TAG_MEMORY as soon a resize changes the size of one
of the memory. This has the side effect that buffer pool cannot know if
the memory have simply been resized, or if the memorys has been replaced.
This make it hard to actually implement _reset(). Instead, only set the
TAG_MEMORY if one or more memory has been replaced, and do a light
sanity check of the size.
https://bugzilla.gnome.org/show_bug.cgi?id=727109
Showayb Zahda [Sat, 26 Apr 2014 16:02:18 +0000 (17:02 +0100)]
docs: add docs for various GstPad macros
https://bugzilla.gnome.org/show_bug.cgi?id=723652