Commit graph

9518 commits

Author SHA1 Message Date
Edward Hervey
fcbba9b15a collectpads: Split out _check_pads into a version without lock taking.
This is so we can use _check_pads in places where we've already taken
the lock in question.

Partially fixes #590056
2009-07-29 11:49:39 +02:00
Tim-Philipp Müller
623c19983a check: make new GstStreamConsistency structure private
There's no need to have GstStreamConsistency in a public header for
the time being, so make it private. While we're at it, add a gtk-doc
blurb for it though. Re-fixes #588744.
2009-07-28 15:26:42 +01:00
Jan Schmidt
db8aeb3b84 0.10.23.4 pre-release 2009-07-24 13:50:19 +01:00
Robin Stocker
527da05476 basesrc: don't handle SEEKING queries for formats that don't match the one the source operates in
Return FALSE in basesrc's default query handler when we get a SEEKING query for
a format that's not the one the source operates in. Previously (ie. before, in
the git version) we would return TRUE in that case and seekable=FALSE, which
is more correct, but causes backwards compatibility problems. (Before that
we would change the format of the query when answering, which was completely
broken since callers don't expect that or check for it). Since the SEEKING
query is a fairly recent addition, not all demuxers, parsers and decoders
implement it yet, in which case any SEEKING query by an application will
just be passed upstream where it will then be handled by basesrc. Now, if
e.g. totem does a SEEKING query for TIME format and we have a demuxer that
doesn't implement the query, basesrc would answer it with seekable=FALSE in
most cases, and totem can only take that as authoritative answer, not knowing
that the demuxer doesn't implement the SEEKING query. To avoid this, we make
basesrc return FALSE to SEEKING queries in unhandled formats. That way
applications like totem can fall back on assuming seekability depending on
whether a duration is available, or somesuch. Downstream elements doing
such queries are likely to equate an unhandled query with a non-seekable
response as well, so this should be an acceptable fix for the time being.

See #584838, #588944, #589423 and #589424.
2009-07-24 11:54:31 +01:00
Stefan Kost
01014d6717 Automatic update of common submodule
From fedaaee to 94f95e3
2009-07-24 00:41:55 +03:00
Stefan Kost
1a44bd93d6 gstregistrybinary: add +1 after error checking
The current code made the error checking pointless by changing -1 to 0 in error
cases. Also don't leak a pad template on error.
2009-07-20 20:59:29 +03:00
Jan Schmidt
ab6d3c736b 0.10.23.3 pre-release 2009-07-20 17:05:31 +01:00
Wim Taymans
ffca244c26 tests: make sure the tasks are joined
Call _clean_all() on the task to make sure everything is joined and stopped.

See #589127
2009-07-20 18:03:21 +02:00
Wim Taymans
a78199ae5e task: fix taskpool leak
GstTaks does not always unref the taskpool it was created from because it
depends on when the pool provided an ID for joining the task.
Rework some code so that we always unref the pool and optionally join when the
pool provided an id.

Fixes #589127
2009-07-20 18:02:53 +02:00
Wim Taymans
141e2af580 basesrc: make tag queuing threadsafe
See #588745
2009-07-20 13:40:16 +02:00
Edward Hervey
dcdc73d182 gstcheck: Add a stream consistency checking helper routine. Fixes #588744 2009-07-20 10:46:19 +02:00
Stefan Kost
de1e991dec binaryregistry: don't unref NULL if we have an early read error 2009-07-20 11:06:22 +03:00
Edward Hervey
1d0c6a669f basesrc: Serialize tags into the dataflow. Fixes #588745 2009-07-20 08:49:43 +02:00
Tim-Philipp Müller
79c8e24885 docs: fix API docs for gst_{adapter|byte_reader}_masked_scan_uint32
Clarify byte reader docs a bit: offset is relative to the current
position of the reader, not to the start of the data. Also, the
examples in both the adapter docs and the byte reader docs have
the mask and pattern arguments swapped (see #587561). Spotted
by Carl-Anton Ingmarsson.
2009-07-16 14:17:03 +01:00
Tim-Philipp Müller
9459a93cb4 tags: only emit a g_warning() for empty tag strings for git versions
For now, don't show a g_warning() for empty tag strings and NULL
tags with non-git versions; we should wait for the fixes in our
plugin modules to make it into a release before we enable this
unconditionally.
2009-07-16 13:59:07 +01:00
Jan Schmidt
30528726bb 0.10.23.2 pre-release 2009-07-14 18:59:13 +01:00
Stefan Kost
f18bee2d8a value: add explanation for shortcut 2009-07-14 12:15:05 +03:00
Stefan Kost
3ce0c64b45 basetransform: take size once 2009-07-14 08:32:24 +02:00
Stefan Kost
c686053aac value: fix can_intersect to behave like intersect
Add a quick return if two types are the same. Change the check for the
intersection function to be the same as the one used in intersect(). The
later tries both directions.
2009-07-14 08:32:23 +02:00
Tim-Philipp Müller
6049559201 gstinfo: maintain ABI compatibility even if debugging is disabled 2009-07-14 00:04:22 +01:00
Jan Schmidt
7bf3554228 structure: Change NULL and empty string handling
Don't forbid the empty string "" in generic structures, only in taglists.
Properly allow the NULL string by adding special cases for serialising
and deserialising it. prop1=(string)NULL is the NULL string,
prop1=(string)"NULL" is the actual string with the value "NULL"
2009-07-13 18:28:37 +01:00
Olivier Crête
082b410567 Automatic update of common submodule
From 5845b63 to fedaaee
2009-07-13 12:23:02 -04:00
Andoni Morales
741ef2bc80 filesink: Fix segfault with MSVC
Don't use deprecated fileno on MSVC but replace with _fileno

Fixes #587052
2009-07-13 12:00:47 +02:00
Edward Hervey
f39cfbebbf docs/design: Update Makefile.am for changed framestep document name. 2009-07-13 09:33:45 +02:00
Tim-Philipp Müller
335024b082 tools: the plugin features listed by gst-inspect are typefinders, not types 2009-07-10 19:29:37 +01:00
Wim Taymans
dd670cb5b5 docs: add draft for arbitrary buffer metadata idea 2009-07-10 18:46:39 +01:00
Wim Taymans
8ecbf002b8 docs: more framestep docs out of draft 2009-07-10 18:35:21 +01:00
Wim Taymans
c5c136251b docs: update framestep document
Remove experimental status from the framestep draft.
2009-07-10 18:33:58 +01:00
Philip Jägenstedt
9501767704 tools: Fix compilation if option parsing is disabled
Fixes bug #587976.
2009-07-08 15:15:04 +02:00
Sebastian Dröge
5f6bfb816b registry: Use g_build_filename() instead of g_strjoin() with /
This makes sure that the generated filenames use the platform
specific directory separator instead of /.

Fixes bug #587973.
2009-07-08 15:12:07 +02:00
Tim-Philipp Müller
6b2986194b docs: add 'Since' tag for new GST_DEBUG_CATEGORY_GET macro 2009-07-07 20:13:48 +01:00
Stefan Kost
cfae0c15e7 collectpads: make it the best of wims and edwards patch.
Check the right flushing flag, but still add it to the pad-list.
2009-07-07 00:23:41 +01:00
Stefan Kost
2cb16ad7aa info: allow getting other log categories. Fixes #587417
Add a new macro GST_DEBUG_CATEGORY_GET to get a log category by name. This
allows plugins to use e.g. core categories like PERFORMANCE or CLOCK.
API: GST_DEBUG_CATEGORY_GET
2009-07-06 19:54:30 +01:00
Stefan Kost
2288f9f6ec basetransform: make comment a FIXME comment 2009-07-06 19:52:44 +01:00
Stefan Kost
4ef0264e66 logging: log object type in message 2009-07-06 19:52:44 +01:00
Stefan Kost
4bfb312e13 logging: use perf category for dropped buffers 2009-07-06 19:52:44 +01:00
Edward Hervey
e6d949328f collectpads: Don't forward FLUSH_STOP if some input streams are still flushing.
This guarantees that only one FLUSH_STOP event (the last one) will be sent
downstream when a flushing seek is being done through collectpads.
2009-07-05 21:24:42 +02:00
Edward Hervey
ed18ceffe6 collectpads: Update the cookie when setting ourselves as flushing.
This forces the pad status to be re-evaluated on the next _check_pads().
2009-07-04 17:17:18 +02:00
Tim-Philipp Müller
4d76b175ef docs: fix gtk-doc /*< private >*/ marker 2009-07-02 01:18:57 +01:00
Tim-Philipp Müller
480b92006d typefindelement: log probability in debug message 2009-07-02 01:18:57 +01:00
Wim Taymans
30bc0361f1 message: fix parsing of the step done message
Parse the duration field too.
2009-06-30 18:23:29 +02:00
Edward Hervey
b50ba09164 binaryregistry: Use local values in while/for loops, use branch prediction macros 2009-06-30 16:30:07 +02:00
Edward Hervey
3c21f2d86c Spread branch prediction macros.
These are based on profiling several playback scenarios using playbin2.
2009-06-30 16:29:58 +02:00
Edward Hervey
923913984e Use local variables in for/while loops.
This makes the generated code faster since:
* It won't have to read an undirect value (which will most likely be
 outside of the L1/L2 cache)
* We know that value never changes (the compiler has no clue that it doesn't).
2009-06-30 16:29:50 +02:00
Edward Hervey
53b09c392a libs/controller: Set default gst debugging category. 2009-06-29 12:07:36 +02:00
Wim Taymans
f5f63434ab tests: fix example 2009-06-29 11:57:13 +02:00
Wim Taymans
92b0f32d74 bufferlist: use faster gst_buffer_list_get()
Use the faster gst_buffer_list_get() to get the first buffer of a list.
2009-06-29 11:56:10 +02:00
Wim Taymans
939f6045b1 bufferlist: fix example
The _do function now takes user_data in all cases.
2009-06-29 11:55:14 +02:00
Ognyan Tonchev
27fe127e76 basesink: take timestamp later
Make sure we don't accidentally cast a bufferlist of a buffer and try to take
the timestamp of it.

Refixes #585960
2009-06-29 11:46:00 +02:00
Jonas Holmberg
0e66315f2d docs: fix some typos 2009-06-29 11:07:40 +02:00