Commit graph

14207 commits

Author SHA1 Message Date
Tim-Philipp Müller 83870cf581 baseparse: fix reverse playback with upstream demuxers that support it
Don't just return FALSE for seek events with negative rates when
operating in push mode. An upstream demuxer may support this just
fine, so if we're not operating in pull mode always check upstream
first if it can handle the seek event. This fixes reverse playback
where the upstream demuxer supports it (e.g. with qtdemux). The
same code would work fine in 0.10, because baseparse will just
call the default pad event handler if FALSE was returned from the
baseparse event handler, and the pad event handler will just
forward it upstream. In 0.11 the baseclass or subclass is
responsible for chaining up to the parent class or forwarding the
event upstream in any case.

Disable reverse playback in pull mode for now, there seems to
be something going wrong with the segment configuration in that
case.
2012-08-10 23:18:33 +01:00
Thiago Santos 2a5afba1a1 basetransform: do not error on not-negotiated
Don't error out too early and let upstream decide if it can
workaround a not-negotiated problem

https://bugzilla.gnome.org/show_bug.cgi?id=681198
2012-08-10 13:58:02 -03:00
Thiago Santos 5c0e02c79c basesrc: retry on not-negotiate if a reconfigure is pending
Before erroring out on not-negotiated returns, check if the pad
has the reconfigure flag set and retry.

https://bugzilla.gnome.org/show_bug.cgi?id=681198
2012-08-10 13:58:02 -03:00
Thiago Santos 9285ee9184 pad: add gst_pad_needs_reconfigure
Add an alternative version of gst_pad_check_reconfigure that doesn't
clear the reconfigure flag.

Useful for increasing error resilience without duplicating the
reconfigure code in pad task functions.

API: gst_pad_needs_reconfigure

https://bugzilla.gnome.org/show_bug.cgi?id=681198
2012-08-10 13:58:02 -03:00
Evan Nemerson 490d16b88a pad: add GST_PAD_LINK_CHECK_DEFAULT to GstPadLinkCheck
This allows introspection-based bindings to access
Gst.PadLinkCheck.DEFAULT instead of
Gst.PAD_LINK_CHECK_DEFAULT.

https://bugzilla.gnome.org/show_bug.cgi?id=678301
2012-08-10 15:05:43 +01:00
Evan Nemerson f169081290 buffer: mark gst_buffer_wrapped* data as array
https://bugzilla.gnome.org/show_bug.cgi?id=678301
2012-08-10 15:05:26 +01:00
Evan Nemerson 823d27e837 introspection: fix some warnings generated by g-ir-scanner.
https://bugzilla.gnome.org/show_bug.cgi?id=678301
2012-08-10 15:05:10 +01:00
Evan Nemerson 237f707c75 buffer: convert gst_buffer_* macros to functions
GObject Introspection does not support macros.
This is needed for bindings. We can still add back
macros or inline functions again later if we think
it's worth it.

https://bugzilla.gnome.org/show_bug.cgi?id=678301
2012-08-10 15:04:12 +01:00
Tim-Philipp Müller df2312fd6a netclientclock: fix printf format in debug message 2012-08-10 15:00:09 +01:00
Wim Taymans fb78756679 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
2012-08-10 12:23:03 +02:00
Tim-Philipp Müller fe082cbe24 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
2012-08-10 09:31:31 +01:00
Tim-Philipp Müller 690a20a54d 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
2012-08-09 19:15:29 +01:00
Wim Taymans 97441c27ee 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
2012-08-09 16:18:59 +02:00
Sebastian Dröge 55f9862999 allocator: Set the alignment at the correct place in GstAllocationParams 2012-08-08 17:41:07 +02:00
Tim-Philipp Müller 22c398b189 Back to development 2012-08-08 16:18:15 +01:00
Tim-Philipp Müller 6112fa331e Release 0.11.93 2012-08-08 15:11:37 +01:00
Tim-Philipp Müller 5bff3ba949 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.
2012-08-08 14:50:10 +01:00
Tim-Philipp Müller c354714544 examples: don't put things with side effects inside g_assert()
They will be defined away to NOOPs otherwise in release builds.
2012-08-08 09:53:26 +01:00
Tim-Philipp Müller 70393ddfb3 win32: update for stream-id API additions 2012-08-08 09:13:38 +01:00
Tim-Philipp Müller de7601bb2d parse: fix for new GstChildProxy::child-added signal callback signature
Fixes crash with gst-launch-1.0 uridecodebin uri=... suburi=... ! ..
2012-08-08 00:59:07 +01:00
Sebastian Dröge 314eec4ca6 bus: Add allow-none to the function argument of gst_bus_set_sync_handler()
https://bugzilla.gnome.org/show_bug.cgi?id=681139
2012-08-07 10:46:17 +02:00
Руслан Ижбулатов 2ec1ac8af0 docs: Make sure scanner gets required libraries 2012-08-07 10:42:44 +02:00
Tim-Philipp Müller 11ce044cc4 consistencychecker: print which event we received before stream-start 2012-08-06 20:08:07 +01:00
Tim-Philipp Müller 9427851fd2 basesrc: don't try to answer URI queries with NULL URIs
Should make unit tests in -base that use appsrc a bit happier.
2012-08-06 20:04:09 +01:00
Sebastian Dröge 0d22988e5c event: Update for stream-start event API changes 2012-08-06 14:00:56 +02:00
Sebastian Dröge 41954ff8cd event: Add new stream-id field to the stream-start event
This is supposed to allow uniquely identifying a single stream.
2012-08-06 14:00:56 +02:00
Edward Hervey ea761a24b4 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.
2012-08-06 11:36:29 +02:00
Edward Hervey 7a89e5d046 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 !
2012-08-06 11:36:29 +02:00
Tim-Philipp Müller c0f1ff5f79 check: add tcase_skip_broken_test() define
Skips broken tests but logs an ERROR-level message to
draw attention to that fact.
2012-08-05 17:16:27 +01:00
Tim-Philipp Müller 352a4b5b07 tests: update .gitignore for queuearray test binary 2012-08-05 17:12:35 +01:00
Tim-Philipp Müller 53cfccf764 tests: fix spurious netclientclock test failures
Give clocks a bit more time to synchronise.
2012-08-05 17:11:46 +01:00
Tim-Philipp Müller 9938861bbb win32: update generated files 2012-08-05 16:59:35 +01:00
Tim-Philipp Müller a9d1c529f6 input-selector: use generic marshaller for "block" action signal 2012-08-05 16:48:27 +01:00
Tim-Philipp Müller 7d89c0627f Automatic update of common submodule
From 94ccf4c to 668acee
2012-08-05 16:37:24 +01:00
Tim-Philipp Müller 579d1a3eca buffer, defaultmem: add option to poison memory before freeing it
Might be useful to track down certain bugs.
2012-08-04 13:37:32 +01:00
Tim-Philipp Müller 1118c9264f gst: ref/unref taglist scope enum in gst_init()
Fixes make check and distcheck
2012-08-03 23:54:33 +01:00
Tim-Philipp Müller dc837f8f60 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.
2012-08-03 00:05:53 +01:00
Tim-Philipp Müller 31eb27aa16 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.
2012-08-02 13:20:00 +01:00
Tim-Philipp Müller f938cf9257 tools: fix printing of partial dates in gst-launch 2012-08-02 11:33:41 +01:00
Tim-Philipp Müller 04142a9653 Revert "tools: print TOC scope"
This reverts commit ee6ab7c936.

The application will probably only ever receive global TOCs,
so don't really need this.
2012-08-02 11:15:16 +01:00
Tim-Philipp Müller 09c9a3a694 win32: add new tag list scope symbols 2012-08-02 00:22:29 +01:00
Tim-Philipp Müller ba39106758 typefind: send segment_done event in addition to segment_done message 2012-08-02 00:22:29 +01:00
Sebastian Dröge 389ec66946 basesrc: Add default handler for URI query in GstURIHandler subclasses 2012-07-31 17:26:37 +02:00
Sjoerd Simons 8d9a4b2e94 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
2012-07-30 16:20:02 +01:00
Jens Georg d89219eba3 buffer: Update annotations
https://bugzilla.gnome.org/show_bug.cgi?id=680805
2012-07-30 16:07:38 +01:00
Jens Georg e1b28dc327 utils: Update annotation for get_compatible_pad
https://bugzilla.gnome.org/show_bug.cgi?id=680804
2012-07-30 16:05:41 +01:00
Thibault Saunier 4a2b138f52 uri: Fix wrong 'array zero-terminated=1' annotation for strings 2012-07-28 21:34:41 -04:00
Tim-Philipp Müller 05daa261f1 docs: update TOC design docs a little 2012-07-28 11:02:30 +01:00
Tim-Philipp Müller 85456357dd 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
2012-07-28 09:41:30 +01:00
Tim-Philipp Müller ee6ab7c936 tools: print TOC scope 2012-07-28 09:40:25 +01:00