Commit graph

5787 commits

Author SHA1 Message Date
Kerrick Staley 60516f4798 parse: make grammar.y work with Bison 3
YYLEX_PARAM is no longer supported in Bison 3.

https://bugzilla.gnome.org/show_bug.cgi?id=706462
2013-09-05 16:41:25 +01:00
Nate Bogdanowicz f4bf6ee5ce gstpipeline: fix failed assertion caused by seeking pipeline with NULL clock
Under certain GST_STATE_CHANGED_PAUSED_TO_PLAYING transitions, a pipeline with
a NULL clock will fail an assertion due to an unchecked call to gst_object_ref().
This is fixed by simply adding a check and only ref-ing if the clock is not NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=693065
2013-02-05 14:28:09 +01:00
Sebastian Dröge 935db833e2 element: Hide the struct padding as zero-sized arrays cause some compilers to complain 2012-12-20 12:40:47 +01:00
Tim-Philipp Müller 401f9b3de7 value: avoid duplicates when intersecting lists
Fixes negotiation taking a ridiculous amount of
time (multiple 10s of seconds on a core2) when
there are duplicate entries in lists.

Could have a negative performance impact on other
scenarios because we now have to iterate the
dest list to avoid duplicates, but we don't
have a lot of lists any more these days, and
they tend to be small anyway. The negatives
are hopefully countered by the positive effects
of reducing the list length early on in the
process. And in any case, it's the right thing
to do.

Based on patch by Andre Moreira Magalhaes.

https://bugzilla.gnome.org/show_bug.cgi?id=684981
2012-12-11 10:52:43 +00:00
Wim Taymans 8914ccad3f plugin: protect against NULL filename in debug
See https://bugzilla.gnome.org/show_bug.cgi?id=689948
2012-12-10 11:56:05 +01:00
Sebastian Dröge 4f311b16e7 info: Don't use GST_DEBUG() in gst_debug_add_log_function() and related functions unconditionally
If GStreamer was not initialized yet this will cause g_warnings().

Conflicts:
	gst/gstinfo.c
2012-10-22 10:27:41 +02:00
Sebastian Dröge 09743e0ac9 element: API: Add GstElement::post_message() vfunc 2012-10-16 12:31:50 +02:00
Stefan Sauer 30d11e413a preset: implement child_proxy support
Elements such as the GstIirEqualizerNBands would so far not store the properties
of their children. Now we also grab the properties of child elements and try to
restore them.
2012-08-17 15:01:41 +02:00
Sebastian Rasmussen 955693fc36 gststructure: Set lcopy string const exactly as glib's macro
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679534
2012-07-21 20:26:57 +05:30
Wim Taymans cce71223d7 pad: don't call pad block callbacks multiple times
Ensure that when multiple threads try to block a pad, only one of the threads
calls the callback. We do this by checking if the callback was already called.
The previous version unconditionally called the callback and then checked if it
was already called...
Also only call the unblock callback once from the first thread that unblocks.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679950
2012-07-16 15:25:46 +02:00
Tim-Philipp Müller 9813876825 toc: remove TOC API again from 0.10
This has undergone significant changes in implementation and
design in 0.11, and we're just not going to backport this to
0.10, so let's just remove it again and continue to fix this
up in master/1.0.
2012-07-12 23:43:16 +01:00
Wim Taymans 36c61df297 bin: always recurse into bins when doing state changes
Never skip the state change of a bin because it needs to update the base time of
its children when needed.
2012-06-25 12:20:54 -03:00
Vincent Penquerc'h 321af1ccb8 element: fix pad transfer annotation from none to full
since the pad will be unreffed.
2012-06-14 14:05:15 +01:00
Stefan Sauer 11c8ffb6fb childproxy: add a few more comments 2012-06-12 11:07:13 +02:00
Stefan Sauer b3132da8c8 childproxy: no need to do expensive casts here 2012-06-11 21:17:24 +02:00
Edward Hervey a1a1b144fb gstutils: Faster read macros
On platforms that can do unaligned read/write, we can read/write much faster
by just casting.

https://bugzilla.gnome.org/show_bug.cgi?id=599546
2012-06-08 14:15:51 +02:00
Sebastian Dröge d563379085 ghostpad: Don't change the ghostpad caps immediately when the peer caps change
This should only happen during data-flow.
2012-06-08 11:16:31 +02:00
Edward Hervey d96ce2a6a7 registry: We name the registry after the target cpu
And not the host cpu
2012-06-06 18:11:50 +02:00
Havard Graff a4b9b79c96 Make sure that unlinked pads do not cause a return false on latency events.
Context: Latency configuration should not be
messed up because of not-linked pads. In general,
one return FALSE on latency distribution causes
the "overall" pipeline latency configuration to
fail. This shows up as noise in logs (warning).
2012-06-06 13:22:19 +02:00
Sebastian Dröge 9760c012f6 Revert "pad: Check via gst_pad_accept_caps() if a sinkpad accepts caps"
This reverts commit 7558fd21ee.

Many elements, like ac3parse, depend on the broken behaviour and
stop working after this change.
2012-06-05 08:33:28 +02:00
Sebastian Dröge 7558fd21ee pad: Check via gst_pad_accept_caps() if a sinkpad accepts caps
instead of just checking if the pad template caps would allow the caps.

The actually supported caps can be far more restrictive than the
template caps and only checking for the template caps can cause
incompatible caps to be set on a pad.

Fixes bug #677335.
2012-06-04 09:31:07 +02:00
Sebastian Dröge 1c0764f764 ghostpad: Don't propagate setcaps() calls to the target pads
The core will do this during dataflow already and additionally
does compatibility checks then. Let it be handled by the core
as for every other pad too.

Fixes bug #677335.
2012-06-04 09:29:22 +02:00
Josep Torra e2ba0db760 debugutils: Fix static linking on OS X
The linking behaviour of external variables that are not initialized
in the compilation unit where they are defined is undefined. On OS X
this causes a linking failure when statically linking GStreamer.
2012-05-25 10:56:12 +02:00
Stefan Sauer cffb31238a info: include element name for event-src if it is a pad
Pad names alone are not unique/helpful as a information about the source of an
event. Therefore inlcude the element name if the event-src is a pad.
2012-05-24 09:59:18 +02:00
Edward Hervey 16d96f71da uri: Add some debug statements 2012-05-22 18:28:22 +02:00
Stefan Sauer 50f2e03977 docs: improve the seeking docs more.
Also mention it on _element_seek{,_simple} and be more precise why it happens.
2012-05-21 15:17:47 +02:00
Stefan Sauer fea09dfbfc docs: fix a typo and clarify event handling a bit more
Tell about async_done messages for some events and review the _event_new_seek
docs.
2012-05-21 14:35:03 +02:00
Wim Taymans 554b81ed24 bin: try harder to avoid state changes in wrong direction
When the bin does an upward state change, try to avoid doing a downward state
change on the child and vice versa.
Add some more unit tests for this fix.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=621833
2012-05-18 15:04:35 +02:00
Vincent Penquerc'h a975fadbaf event: add new seek snap flags
They can be used to select snapping behavior (to previous, next, or
nearest location, where relevant) when seeking.

The seeking implementation (eg, demuxer) may currently ignore some
or all of these flags.
2012-04-30 09:52:04 +01:00
Wim Taymans dd74e5cdc0 pad: fix typo in comment 2012-04-25 09:09:59 +02:00
Edward Hervey 184b6e555a ghostpad: Don't use g_signal_handler_disconnect_by_*
It introduces an unneeded overhead. Instead store the id of the
signal handlers and remove them properly
2012-04-24 16:12:15 +02:00
Sebastian Dröge 7848b66e3e message: Remove comma at end of enum list
This comma confuses some compilers.
2012-04-23 09:19:51 +02:00
Alexander Saprykin 30872d3a5f toc: fix memory leaks while copying content 2012-04-11 10:28:43 +02:00
Wim Taymans fd9c328260 gst: add toc entry ref/unref 2012-04-10 12:49:04 +02:00
Sebastian Dröge 1484a211f1 element: Fail if a pad for a non-request template is requested 2012-04-09 16:01:02 +02:00
Tim-Philipp Müller 94696f4bd9 gst: don't export private TOC functions 2012-04-07 16:04:14 +01:00
Wim Taymans f251e3073b atomicqueue: fix race
After a writer has written to its reserved write location, it can only make the
location available for reading if all of the writers with lower locations have
finished.
2012-04-07 15:30:12 +01:00
Wim Taymans 930c019721 atomicqueue: fix subtle race
Fix a race where the reader would see the updated the tail pointer before the
write could write the data into the queue. Fix this by having a separate reader
tail pointer that is only incremented after the writer wrote the data.
2012-04-07 15:24:53 +01:00
Alexander Saprykin 3f30c73443 Add new GstTocSetter interface 2012-04-02 21:50:55 +02:00
Alexander Saprykin 6e65daa4d1 Add new TOC query 2012-04-02 21:50:55 +02:00
Alexander Saprykin 03d0f569b3 Add new TOC message 2012-04-02 21:50:55 +02:00
Alexander Saprykin c3f97992c4 Add new TOC and TOC select events 2012-04-02 21:50:55 +02:00
Alexander Saprykin 1f7096b52a Add generic table of contents (TOC) support 2012-04-02 21:50:55 +02:00
Olivier Crête 37db4eefbf gstpad: Fix typo in docstring 2012-03-27 15:24:49 -04:00
Tim-Philipp Müller 4d2adb0249 pad, task: improve debug logging 2012-03-08 16:30:49 +00:00
Tim-Philipp Müller c683e39429 pads, collectpads2: get rid of superfluous brackets around static rec mutex calls
Makes it possible to define those calls to something for tracing.
2012-03-08 16:27:48 +00:00
Sebastian Dröge c8cde669b7 gst: Fix 'comparison of unsigned enum expression >= 0 is always true' compiler warning 2012-03-06 12:16:19 +01:00
Edward Hervey 823807c5f0 Suppress deprecation warnings in selected files, for g_value_array_* mostly 2012-02-27 13:43:59 +01:00
Tim-Philipp Müller 031514faeb registry: fix lseek() return code handling
lseek() returns the offset if successful, and this is != 0 and
does not indicate an error. And if it does actually fail, don't
return FALSE (0) as an int, but -1. None of these things are
likely to have made a difference, ever. I don't think the offset
seek can ever actually happen, the current file position and the
current offset should always be increased in lock step, unless
there was an error in which case we'd just error out.
2012-02-24 23:49:54 +00:00
Tim-Philipp Müller c25b8e153d registry: don't forget to clean up registry temp file in another error case
Also clean up temp file if we get an error during write() rather
than just when doing fsync() or close().
2012-02-24 23:49:54 +00:00