Wim Taymans [Fri, 10 Aug 2012 10:23:03 +0000 (12:23 +0200)]
bufferpool: fix max_buffers handling
When max_buffers > 0 and the pool is empty, actually try to allocate more
buffers up to the max_buffers limit.
We need to add a counter for this to count how many buffers we allocated and
check this against the max_buffers limit.
Reorganise and clean up some code.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681153
Tim-Philipp Müller [Fri, 10 Aug 2012 08:19:25 +0000 (09:19 +0100)]
netclientclock: simplify by using g_socket_condition_timed_wait()
No need to use a custom main context and custom timeout sources,
just use g_socket_condition_timed_wait() instead, which was added
for exactly this case.
Also seems to help with the unit test deadlocking with glib 2.33.x
https://bugzilla.gnome.org/show_bug.cgi?id=681575
Tim-Philipp Müller [Thu, 9 Aug 2012 18:15:29 +0000 (19:15 +0100)]
gstobject: fix double string escaping in gst_object_default_deep_notify()
Make output of gst-launch -v readable again.
last-message = "event\ \ \ \*\*\*\*\*\*\*\ \(fakesink0:sink\)\ E\ \(type:\ tag\ \(20510\)\,\ GstTagList-stream\,\ taglist\=\(taglist\)\"taglist\\\,\\\ video-codec\\\=\\\(string\\\)H264\\\,\\\
minimum-bitrate\\\=\\\(uint\\\)636611\\\,\\\ bitrate\\\=\\\(uint\\\)980729\\\,\\\ maximum-bitrate\\\=\\\(uint\\\)1116707\\\;\"\;\)\ 0x15bc760"
vs.
last-message = event ******* (fakesink0:sink) E (type: tag (20510), GstTagList-stream, taglist=(taglist)"taglist\,\ video-codec\=\(string\)H264\,\ minimum-bitrate\=\(uint\)856039\,\ bitrate
\=\(uint\)1019748\,\ maximum-bitrate\=\(uint\)1116707\;";) 0x11149e0
Wim Taymans [Thu, 9 Aug 2012 14:18:59 +0000 (16:18 +0200)]
miniobject: check writability
fix the writability check for miniobjects. We should check the shared counter.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681450
Sebastian Dröge [Wed, 8 Aug 2012 14:08:44 +0000 (16:08 +0200)]
allocator: Set the alignment at the correct place in GstAllocationParams
Tim-Philipp Müller [Wed, 8 Aug 2012 15:18:15 +0000 (16:18 +0100)]
Back to development
Tim-Philipp Müller [Wed, 8 Aug 2012 14:05:08 +0000 (15:05 +0100)]
Release 0.11.93
Tim-Philipp Müller [Wed, 8 Aug 2012 13:49:23 +0000 (14:49 +0100)]
tests: remove silly test_fail_abstract_new check
Our check would make sure that GLib segfaults when
someone tries to instantiate an abstract type, which
is an extremely useful thing to check for.
In newer GLibs this is fixed and we get an abort with
a g_error() now it seems, so let's just remove this
check entirely.
Tim-Philipp Müller [Wed, 8 Aug 2012 08:53:26 +0000 (09:53 +0100)]
examples: don't put things with side effects inside g_assert()
They will be defined away to NOOPs otherwise in release builds.
Tim-Philipp Müller [Wed, 8 Aug 2012 08:13:38 +0000 (09:13 +0100)]
win32: update for stream-id API additions
Tim-Philipp Müller [Tue, 7 Aug 2012 23:54:49 +0000 (00:54 +0100)]
parse: fix for new GstChildProxy::child-added signal callback signature
Fixes crash with gst-launch-1.0 uridecodebin uri=... suburi=... ! ..
Sebastian Dröge [Tue, 7 Aug 2012 08:46:17 +0000 (10:46 +0200)]
bus: Add allow-none to the function argument of gst_bus_set_sync_handler()
https://bugzilla.gnome.org/show_bug.cgi?id=681139
Руслан Ижбулатов [Mon, 6 Aug 2012 12:33:57 +0000 (16:33 +0400)]
docs: Make sure scanner gets required libraries
Tim-Philipp Müller [Mon, 6 Aug 2012 19:08:07 +0000 (20:08 +0100)]
consistencychecker: print which event we received before stream-start
Tim-Philipp Müller [Mon, 6 Aug 2012 19:04:09 +0000 (20:04 +0100)]
basesrc: don't try to answer URI queries with NULL URIs
Should make unit tests in -base that use appsrc a bit happier.
Sebastian Dröge [Sun, 29 Jul 2012 12:25:34 +0000 (14:25 +0200)]
event: Update for stream-start event API changes
Sebastian Dröge [Sat, 28 Jul 2012 06:37:00 +0000 (08:37 +0200)]
event: Add new stream-id field to the stream-start event
This is supposed to allow uniquely identifying a single stream.
Edward Hervey [Fri, 27 Jul 2012 15:41:43 +0000 (17:41 +0200)]
inputselector: Use the first created pad by default
This guarantees a bit more consistency in which input stream will
be selected by default. It would previously be the first pad on which
an event/buffer/query was received ... which was racy and non-predictable.
Edward Hervey [Fri, 27 Jul 2012 15:38:34 +0000 (17:38 +0200)]
element: Specify the order of pad iterators
The order of returned pads wasn't specified before, so let's specify
it and use an order which might prove the most useful : the order in
which pads were added to the element.
If someone changes the order, make sure users of those iterators from
now on don't rely on that order !
Tim-Philipp Müller [Sun, 5 Aug 2012 16:16:27 +0000 (17:16 +0100)]
check: add tcase_skip_broken_test() define
Skips broken tests but logs an ERROR-level message to
draw attention to that fact.
Tim-Philipp Müller [Sun, 5 Aug 2012 16:12:35 +0000 (17:12 +0100)]
tests: update .gitignore for queuearray test binary
Tim-Philipp Müller [Sun, 5 Aug 2012 16:11:46 +0000 (17:11 +0100)]
tests: fix spurious netclientclock test failures
Give clocks a bit more time to synchronise.
Tim-Philipp Müller [Sun, 5 Aug 2012 15:59:35 +0000 (16:59 +0100)]
win32: update generated files
Tim-Philipp Müller [Sun, 5 Aug 2012 15:41:21 +0000 (16:41 +0100)]
input-selector: use generic marshaller for "block" action signal
Tim-Philipp Müller [Sun, 5 Aug 2012 15:37:24 +0000 (16:37 +0100)]
Automatic update of common submodule
From 94ccf4c to 668acee
Tim-Philipp Müller [Sat, 4 Aug 2012 12:37:32 +0000 (13:37 +0100)]
buffer, defaultmem: add option to poison memory before freeing it
Might be useful to track down certain bugs.
Tim-Philipp Müller [Fri, 3 Aug 2012 22:54:33 +0000 (23:54 +0100)]
gst: ref/unref taglist scope enum in gst_init()
Fixes make check and distcheck
Tim-Philipp Müller [Thu, 2 Aug 2012 23:05:53 +0000 (00:05 +0100)]
plugin: warn if plugin name starts with a "
This can easily happen as side-effect of the plugin name
in GST_PLUGIN_DEFINE no longer being a string in 0.11, but
a name to G_STRINGIFY.
Tim-Philipp Müller [Thu, 2 Aug 2012 12:19:27 +0000 (13:19 +0100)]
docs: update porting-to-0.11 document with a "soft" API changes checklist
Point out some API changes that the compiler won't
be able to warn about.
Tim-Philipp Müller [Thu, 2 Aug 2012 10:33:41 +0000 (11:33 +0100)]
tools: fix printing of partial dates in gst-launch
Tim-Philipp Müller [Thu, 2 Aug 2012 10:15:16 +0000 (11:15 +0100)]
Revert "tools: print TOC scope"
This reverts commit
ee6ab7c93638a6519acb976699a6ad149d520a95.
The application will probably only ever receive global TOCs,
so don't really need this.
Tim-Philipp Müller [Wed, 1 Aug 2012 16:49:27 +0000 (17:49 +0100)]
win32: add new tag list scope symbols
Tim-Philipp Müller [Wed, 1 Aug 2012 10:58:55 +0000 (11:58 +0100)]
typefind: send segment_done event in addition to segment_done message
Sebastian Dröge [Tue, 31 Jul 2012 15:25:50 +0000 (17:25 +0200)]
basesrc: Add default handler for URI query in GstURIHandler subclasses
Sjoerd Simons [Sat, 28 Jul 2012 15:33:52 +0000 (17:33 +0200)]
check: unbreak fail #define
The fail() definition was changed to not fail with non-GCC compilers,
unfortunately the change was incorrect and appended the first argument
of fail to the expression string instead of making it the message.
This change does mean that fail() now requires a message to be passed
along.
https://bugzilla.gnome.org/show_bug.cgi?id=680755
Jens Georg [Sun, 29 Jul 2012 21:37:19 +0000 (23:37 +0200)]
buffer: Update annotations
https://bugzilla.gnome.org/show_bug.cgi?id=680805
Jens Georg [Sun, 29 Jul 2012 21:20:07 +0000 (23:20 +0200)]
utils: Update annotation for get_compatible_pad
https://bugzilla.gnome.org/show_bug.cgi?id=680804
Thibault Saunier [Sun, 29 Jul 2012 01:23:24 +0000 (21:23 -0400)]
uri: Fix wrong 'array zero-terminated=1' annotation for strings
Tim-Philipp Müller [Sat, 28 Jul 2012 10:02:30 +0000 (11:02 +0100)]
docs: update TOC design docs a little
Tim-Philipp Müller [Sat, 28 Jul 2012 08:41:30 +0000 (09:41 +0100)]
event: make TOC event multi-sticky
We need to send two kinds of TOCs downstream as events,
and need both to stick to the pads.
https://bugzilla.gnome.org/show_bug.cgi?id=678742
Tim-Philipp Müller [Sat, 28 Jul 2012 07:30:36 +0000 (08:30 +0100)]
tools: print TOC scope
Tim-Philipp Müller [Fri, 27 Jul 2012 22:56:54 +0000 (23:56 +0100)]
toc: add GstTocScope and require it in the constructor
This is because we need to be able to signal different TOCs
to downstream elements such as muxers and the application,
and because we need to send both types as events (because
the sink should post the TOC messages for the app in the
end, just like tag messages are now posted by the sinks),
and hence need to make TOC events multi-sticky.
https://bugzilla.gnome.org/show_bug.cgi?id=678742
Tim-Philipp Müller [Fri, 27 Jul 2012 22:54:00 +0000 (23:54 +0100)]
scripts: create-uninstalled-setup.sh: check for basic build tools and deps
.. before checking out stuff.
Sebastian Dröge [Fri, 27 Jul 2012 21:52:12 +0000 (23:52 +0200)]
tag: Add a scope to taglists
This specifies if a given taglist applies to the complete
medium or only this specific stream. By default a taglist
has a stream scope.
Fixes bug #677619.
Wim Taymans [Fri, 27 Jul 2012 15:09:45 +0000 (17:09 +0200)]
segment: add offset field
Add an offset field that is used to track at what position the segment was
updated. This is used to set the running time to 0 when we do a flushing
seek that doesn't update the position.
See https://bugzilla.gnome.org/show_bug.cgi?id=680306
Wim Taymans [Fri, 27 Jul 2012 13:19:57 +0000 (15:19 +0200)]
Update for new seeking variable name
When seeking, the start value and type are now called start and start_type.
Wim Taymans [Fri, 27 Jul 2012 12:53:03 +0000 (14:53 +0200)]
segment: small cleanup
Move the code to update the segment at the end of the function.
Tim-Philipp Müller [Fri, 27 Jul 2012 11:05:25 +0000 (12:05 +0100)]
Update docs and .def file for taglist API change
Wim Taymans [Fri, 27 Jul 2012 11:02:52 +0000 (13:02 +0200)]
segment: remove redundant checks
We don't need to check the segment format anymore because we asserted on them
being equal before.
Wim Taymans [Fri, 27 Jul 2012 10:24:03 +0000 (12:24 +0200)]
tests: improve segment tests
Wim Taymans [Fri, 27 Jul 2012 10:12:37 +0000 (12:12 +0200)]
allocator: remove user_data from alloc vmethod
Remove the user_data from the alloc vmethod. Subclasses that implement a new
alloc function can also implement their own vmethod to pass extra arguments. We
can then also require that custom allocators implement an alloc function so that
gst_allocator_alloc() always works.
Wim Taymans [Fri, 27 Jul 2012 08:41:54 +0000 (10:41 +0200)]
tests: remove segment accumulation checks
Remove the checks because there is no more segment accumulation.
Tim-Philipp Müller [Thu, 26 Jul 2012 15:44:15 +0000 (16:44 +0100)]
taglist: make GST_TAG_APPLICATION_DATA also a GstSample
That way additional meta-data can be passed along with it.
Tim-Philipp Müller [Thu, 26 Jul 2012 14:51:10 +0000 (15:51 +0100)]
taglist: gst_tag_list_get_buffer*() => gst_tag_list_get_sample*()
Image tags and other tags are now of GstSample type.
Tim-Philipp Müller [Thu, 26 Jul 2012 14:26:09 +0000 (15:26 +0100)]
gst-launch: print image tags and other GstSample tags properly
These tags are now of type GstSample not GstBuffer.
Stefan Sauer [Tue, 24 Jul 2012 19:38:35 +0000 (21:38 +0200)]
collectpads: remove unimplemented api
We can always add this back if we need it. Fixes parts of #670852.
Mark Nauwelaerts [Tue, 24 Jul 2012 11:49:36 +0000 (13:49 +0200)]
baseparse: also account for frame size when merely scanning for frame
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680495
Mark Nauwelaerts [Tue, 24 Jul 2012 11:48:39 +0000 (13:48 +0200)]
baseparse: remove obsolete function parameter
Wim Taymans [Tue, 24 Jul 2012 10:38:15 +0000 (12:38 +0200)]
typefind: require bytes before typefinding
Require that we have some bytes in the adapter before we attempt to typefind.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680479
Christian Fredrik Kalager Schaller [Mon, 23 Jul 2012 16:49:13 +0000 (18:49 +0200)]
update spec file with latest changes
Wim Taymans [Mon, 23 Jul 2012 14:27:34 +0000 (16:27 +0200)]
bufferlist: pass index as gint to _insert
Make the idx argument of _insert() a gint because we allow -1 as a value.
Improve annotation.
Wim Taymans [Mon, 23 Jul 2012 11:40:38 +0000 (13:40 +0200)]
plugins: print flags better
print the buffer flags as a hex number so that it becomes easier to see what
flags are set.
Sebastian Rasmussen [Wed, 18 Jul 2012 15:03:45 +0000 (17:03 +0200)]
gstpoll: Improve warning message when re-adding fd to fdset
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680181
Sebastian Dröge [Mon, 23 Jul 2012 06:44:04 +0000 (08:44 +0200)]
Automatic update of common submodule
From 98e386f to 94ccf4c
Tim-Philipp Müller [Thu, 19 Jul 2012 23:49:28 +0000 (00:49 +0100)]
value: add GstTagList serialisation/deserialisation
So we can serialise/deserialise taglists inside structures,
which used to work automagically before because GstTagList
was just a typedef to GstStructure (same for the GType),
but now that it's a separate GType we need to register
explicit functions for this.
Helps with GDP stuff in pipelines/streamheader tests.
Philippe Normand [Fri, 20 Jul 2012 07:38:47 +0000 (09:38 +0200)]
po: Update .po files
Mark Nauwelaerts [Thu, 19 Jul 2012 11:51:23 +0000 (13:51 +0200)]
tests: gstbuffer: add tests for some mulitple map combinations
Wim Taymans [Thu, 19 Jul 2012 11:35:34 +0000 (13:35 +0200)]
miniobject: fix sharedness check
Wim Taymans [Thu, 19 Jul 2012 11:20:27 +0000 (13:20 +0200)]
miniobject: refuse write when object is shared
In all cases, refuse to write an object when it is shared by more than one
object (also when the object was locked before).
See https://bugzilla.gnome.org/show_bug.cgi?id=679145
Mark Nauwelaerts [Wed, 18 Jul 2012 13:21:33 +0000 (15:21 +0200)]
tests: gstbuffer: extend buffer copy test
Wim Taymans [Thu, 19 Jul 2012 10:42:05 +0000 (12:42 +0200)]
queue2: set buffering-left to 0 on 100% buffering
Set the buffering-left field in the query to 0 when we are completely buffered.
Improve the debug.
Wim Taymans [Thu, 19 Jul 2012 10:14:29 +0000 (12:14 +0200)]
queue2: fix buffering query
Fix the buffering query, fill in the right buffering-left and estimated-total
values.
Wim Taymans [Thu, 19 Jul 2012 08:54:16 +0000 (10:54 +0200)]
queue2: fix the buffering-left in the buffering message
The buffering-left field in the buffering message should contain a time estimate
in milliseconds about for long the buffering is going to take. We can calculate
this value when we do rate_estimates.
Wim Taymans [Thu, 19 Jul 2012 08:14:18 +0000 (10:14 +0200)]
message: improve buffering message defaults
Remove the estimated-total field, this should not be part of the buffering
message.
Set the default value of buffering-left to 0 when the percent is 100.
Wim Taymans [Wed, 18 Jul 2012 15:44:54 +0000 (17:44 +0200)]
pad: fix debug line
Use QUERY_TYPE on query types.
Wim Taymans [Wed, 18 Jul 2012 15:35:58 +0000 (17:35 +0200)]
ghostpad: remove custom function
Remove custom pad functions, the default ones are better.
Wim Taymans [Wed, 18 Jul 2012 15:30:30 +0000 (17:30 +0200)]
pad: add PROXY_SCHEDULING flag
Add a flag that makes the default query handler forward the scheduling query.
Wim Taymans [Wed, 18 Jul 2012 15:30:04 +0000 (17:30 +0200)]
utils: fix docs
Wim Taymans [Wed, 18 Jul 2012 14:20:41 +0000 (16:20 +0200)]
pad: improve query caps function
In the proxy_query_caps function, also filter against the filter in the query.
We don't need to filter against the filter in the query anymore in the default
caps query function because we already did this in the proxy_query_caps.
Wim Taymans [Wed, 18 Jul 2012 09:17:23 +0000 (11:17 +0200)]
basesink: handle -1 step amounts
Define a 0 and -1 step amount. They used to almost do the same thing but now, 0
cancels/stops the current step and -1 keeps on stepping until the end of the
segment.
See https://bugzilla.gnome.org/show_bug.cgi?id=679378
Tim-Philipp Müller [Wed, 18 Jul 2012 11:30:59 +0000 (12:30 +0100)]
query: fix gst_query_parse_nth_allocation_pool() annotation
It returns a ref to the pool.
Edward Hervey [Tue, 17 Jul 2012 13:52:53 +0000 (15:52 +0200)]
check: Avoid deadlock
Queries will be sent when pipeline goes down to NULL, which would
result in the probe being called ... but can't take the lock.
Edward Hervey [Tue, 17 Jul 2012 13:50:09 +0000 (15:50 +0200)]
gstghostpad: Forward queries in both direction
Use the peer of the internal pad to forward them, instead of the
target which only exists for the ghostpad (and not the internal
proxy pad).
Edward Hervey [Tue, 17 Jul 2012 09:20:43 +0000 (11:20 +0200)]
docs: More entries
Tim-Philipp Müller [Wed, 18 Jul 2012 08:15:51 +0000 (09:15 +0100)]
queue: answer SCHEDULING query
Instead of letting the default query handler fail.
Tim-Philipp Müller [Tue, 17 Jul 2012 18:20:23 +0000 (19:20 +0100)]
queue2: handle CAPS event and drop it if operating in ring buffer mode
Fixes "Unexpected event of kind caps can't be added in temp file"
warning when doing download buffering.
Wim Taymans [Tue, 17 Jul 2012 10:57:59 +0000 (12:57 +0200)]
buffer: make _foreach_meta more powerful
Make _foreach_meta return FALSE when the foreach function returned FALSE.
Wim Taymans [Tue, 17 Jul 2012 10:52:59 +0000 (12:52 +0200)]
bufferlist: improve foreach function
Make the foreach function return FALSE when one of the function calls returned
FALSE.
Wim Taymans [Tue, 17 Jul 2012 10:50:24 +0000 (12:50 +0200)]
buffer: add more debug
Wim Taymans [Tue, 17 Jul 2012 10:40:54 +0000 (12:40 +0200)]
basesink: fix debug string
Wim Taymans [Tue, 17 Jul 2012 07:57:47 +0000 (09:57 +0200)]
parse: fix some debug
Wim Taymans [Tue, 17 Jul 2012 07:48:00 +0000 (09:48 +0200)]
parse: only escape spaces outside of quotes
When we escape spaces to keep arguments together, only escape when the space is
outside a "" string.
See https://bugzilla.gnome.org/show_bug.cgi?id=673319
Wim Taymans [Tue, 17 Jul 2012 07:44:10 +0000 (09:44 +0200)]
Revert "parse: escape \ with a \ as well, so that we don't lose the \ when unescaping"
This reverts commit
dd9fedb41f1ada8e1f8bd5346fccd3d068d543cb.
This is not the right place to escape the \, we should only escape the spaces to
keep the arguments together that were provided as one group (with quotes on the
shell).
Evan Nemerson [Tue, 10 Jul 2012 19:27:11 +0000 (12:27 -0700)]
utils: set return type of gst_parse_bin_* to GstBin for introspection
Evan Nemerson [Sat, 30 Jun 2012 19:33:43 +0000 (12:33 -0700)]
nettimepacket: add missing array annotation to gst_net_time_packet_new
Evan Nemerson [Sat, 30 Jun 2012 00:33:49 +0000 (17:33 -0700)]
introspection: add missing array annotation to gst_formats_contains
Stefan Sauer [Mon, 16 Jul 2012 18:54:17 +0000 (20:54 +0200)]
bin: aggregate durations like in adder
Stop querying the duration once an element return unknown and return unknown
as a final result. This avoid eventually cutting off a stream too early.
Add a tests to docuement the behavior.
Tim-Philipp Müller [Sun, 15 Jul 2012 23:24:46 +0000 (00:24 +0100)]
datetime: just return NULL on short input strings instead of a warning
We want to be able to use this function on random non-NULL input,
this should not result in a runtime-critical.
Tim-Philipp Müller [Sun, 15 Jul 2012 11:59:44 +0000 (12:59 +0100)]
baseparse: fix seekability querying with formats with headers like FLAC
Move code that checks for upstream seekability and all that to
the right place, otherwise it will never be done for formats
that have headers such as FLAC, as handle_and_push frame will
be called the first time only after headers have been processed
(and framecount is > 0). This then makes us report that we
can't seek, which disables the seek bar in totem.
Tim-Philipp Müller [Sat, 14 Jul 2012 19:33:30 +0000 (20:33 +0100)]
plugins: embed GstAueueArray in dataqueue struct as well