Wim Taymans
14d7db1b52
bus: make the bus almost lockfree
...
Use new GstPoll functionality to wakeup the mainloop.
Use an atomic queue on the writer side to post the messages.
The reader side it protected with the lock still because we don't want multiple
concurrent readers.
2011-02-16 17:56:39 +01:00
Wim Taymans
401d73df7f
defs: fix defs file for new symbols
2011-02-16 17:56:39 +01:00
Wim Taymans
5f81eac5e1
atomicqueue: use correct array sizes
2011-02-16 17:56:39 +01:00
Wim Taymans
6b2c2a043d
atomicqueue: fix docs some more
2011-02-16 17:56:39 +01:00
Wim Taymans
905fea098f
atomicqueue: add refcounting and docs
2011-02-16 17:56:39 +01:00
Wim Taymans
ebb37b48d8
atomicqueue: make sure a min initial_size is used
2011-02-16 17:56:38 +01:00
Wim Taymans
4c9287687b
atomicqueue: add an atomic queue
...
Add an atomic queue. The queue can be used from multiple threads simultaneously
and without taking any locks or doing any blocking operations. This makes it
highly scalable for things like the bus, bufferpools and object recycling.
2011-02-16 17:56:38 +01:00
Wim Taymans
8d27621e40
check: fix a leak in the bus unit test
2011-02-16 17:56:38 +01:00
Wim Taymans
1037fd9919
deinit: add progress type class unref
2011-02-16 17:56:38 +01:00
Stefan Kost
5e35837402
utils: tell also what pad a pad is already linked against
2011-02-16 15:15:26 +02:00
Sebastian Dröge
c1c0c86bba
file{sink,src}: Check if non-URI characters are escaped, but only for the URI not the location property
2011-02-15 22:57:28 +01:00
Sebastian Dröge
39eeab382c
file{src,sink}: Fix unit tests
...
filesink and filesrc should return exactly the same URI as passed
and must not escape path separators.
2011-02-15 22:57:28 +01:00
Sebastian Dröge
c4be9526eb
filesink: Fix escaping of URIs
...
Especially don't escape / as path separators
2011-02-15 22:57:28 +01:00
Andoni Morales Alastruey
df9f72e78c
filesrc: Fix escaping of file uris
...
Fixes bug #642393 .
2011-02-15 22:57:28 +01:00
Wim Taymans
ea21e404a7
message: add timeout to progress message
...
Add a timeout member to the progress messages to let the application know about
the timeout so that it can do some gui things with it.
2011-02-15 18:55:23 +01:00
Wim Taymans
fab02a497a
design: mention timeout in the progress message
2011-02-15 18:55:23 +01:00
Wim Taymans
fd0efad9cb
design: make progress draft official
2011-02-15 18:55:22 +01:00
Wim Taymans
ec1bbd36bf
message: rename category to code
2011-02-15 18:55:22 +01:00
Wim Taymans
37fbb5e20f
message: add new message quark
2011-02-15 18:55:22 +01:00
Wim Taymans
8ff6a082d7
docs: add more standard categories
2011-02-15 18:55:22 +01:00
Wim Taymans
4a1ad4407d
gst: register new type
2011-02-15 18:55:22 +01:00
Wim Taymans
5db2e45d5c
check: add progress message unit test
2011-02-15 18:55:22 +01:00
Wim Taymans
f5b175972c
message: add progress message functions
2011-02-15 18:55:22 +01:00
Wim Taymans
6382a6813d
docs: update progress field
...
Avoid naming the progress free text field 'message' as it conflicts with the
message itself.
2011-02-15 18:55:22 +01:00
Mark Nauwelaerts
8bf4c1e1a8
queue2: don't read beyond the end of file upstream in pull mode
...
... which could lead to a premature eos being reported downstream,
rather than a successful partial read which would result when
performed directly on e.g. basesrc.
2011-02-15 14:51:20 +01:00
Chen Rui
b164a8232a
utils: return real error in compatible link check
...
We need to ensure we call gst_pad_check_link() with the two pads in the correct
order. The order depends on wheter we iterate src or sink pads.
Signed-off-by: Chen Rui <rui.chen@tieto.com>
2011-02-14 22:45:50 +02:00
Wim Taymans
12d2d01663
pad: Check sinkpad for flushing
...
Check the sinkpad for the flushing state before calling the chainfunction on the
pad. We do this by checking the cache (which is also cleared on the srcpad when
the sink is set to flushing).
Fixes #641928
2011-02-14 17:31:25 +01:00
Thiago Santos
3aaef921c5
basetransform: Check for pad alloc caps when suggestion is not fixed
...
If after computing the suggestion with downstream caps we still have
a non-fixed suggestion caps try to intersect with the input caps
of the pad alloc to avoid useless renegotiations.
https://bugzilla.gnome.org/show_bug.cgi?id=642130
2011-02-14 15:59:25 +01:00
Wim Taymans
f8828eace6
basesink: improve duration calculation
...
Keep track of the average distance between incomming timestamps and
use that to estimate the frame duration when buffers have no duration set on
them.
2011-02-14 15:17:45 +01:00
Wim Taymans
79665e8247
basesink: improve rate calculation
...
When there is no duration on input buffers, assume the rate is 1.0
instead of (the undefined) 0.0.
2011-02-14 15:17:44 +01:00
Wim Taymans
9661a713ba
basesink: improve average duration calculation
...
Improve the calculation of the duration. When we have no input duration set on
the input buffers stop is set to start and then we end up using a 0 duration in
the average calculation.
2011-02-14 15:17:44 +01:00
Wim Taymans
dc0120fe28
basesink: rename variable
...
Rename an internal variable to better reflact what its value means.
2011-02-14 15:17:44 +01:00
Stefan Kost
61d84b9469
parse-launch: trim whitespaces
2011-02-14 15:39:21 +02:00
Stefan Kost
8f9f95cd78
parse-launch: fix typo in pad-list length comparision
...
It was comparing the length with itself.
Fixes #642071 .
2011-02-14 15:37:23 +02:00
Stefan Kost
7e9b886ba2
Automatic update of common submodule
...
From f94d739 to 1de7f6a
2011-02-14 12:52:30 +02:00
Tim-Philipp Müller
d6aec1acc3
gst-launch: pretty-print datetime tags
2011-02-13 22:57:48 +00:00
Tim-Philipp Müller
c8b3bdbf63
gstreamer.doap: update mailing list host
2011-02-10 23:30:21 +00:00
Wim Taymans
c8d1abdd00
basesink: fix some comments
2011-02-10 15:21:46 +01:00
Wim Taymans
d19f40c716
basesink: keep track of earliest QoS timestamp
...
Keep track of the earliest allowed timestamp according to the latest
QoS report and drop buffers before that time. Activate this filter
when throttling is enabled. We could later also activate this in the
other QoS cases.
See #638891
2011-02-10 15:21:46 +01:00
Wim Taymans
dad43fa004
basesink: use new QoS type
...
Use the new QoS type and send throttling QoS messages.
2011-02-10 15:21:46 +01:00
Wim Taymans
4ee5c61a2d
basesink: add property to configure a throttle-time
...
Add a property to configure the throttle time on a sink. The
property is not yet used.
See #638891
2011-02-10 15:21:45 +01:00
Wim Taymans
56826a5ee6
event: add QoS event type
...
Add a parameter to the QoS event to specify the QoS event type.
Update docs and add unit test.
See #638891
2011-02-10 15:21:45 +01:00
Wim Taymans
aa32e1fab1
clock: fix parameter docs
2011-02-10 15:21:45 +01:00
Wim Taymans
80311b758c
design: tweak docs a little
2011-02-10 15:21:45 +01:00
Wim Taymans
2371cbbec2
design: update QoS document
...
Add new QoS types and talk about the new throttle QoS message.
2011-02-10 15:21:44 +01:00
Tim-Philipp Müller
166be8d7f1
docs: fix some typos in the bufferpool draft
2011-02-10 13:46:08 +00:00
Tim-Philipp Müller
2d37f06ce8
events: fix g-i annotation for gst_event_new_tag() which takes ownership of the tag list
2011-02-10 10:20:10 +00:00
Tim-Philipp Müller
1a6f61a1c9
docs: mention that it's necessary to set the state of elements added to an already-running pipeline
...
https://bugzilla.gnome.org/show_bug.cgi?id=641631
2011-02-10 00:04:09 +00:00
Wim Taymans
654a9484ef
design: add draft for first ideas for a bufferpool feature
...
Add a first draft with some ideas and use cases for the implementation
for bufferpools. The purpose is to be able to make elements negotiate
their buffer requirements as well as provide an infrastructure to
preallocate and reuse buffers in an easy way.
2011-02-09 16:27:33 +01:00
Stefan Kost
306c09e1b2
docs: clarify the NOMINAL_BITRATE docs
...
Tell that its a target bitrate and actual values might be different.
2011-02-09 15:23:13 +02:00