Commit graph

8762 commits

Author SHA1 Message Date
David Schleef 85aed94676 videomixer: orc_init() doesn't need to be called
There's no need to call orc_init() unless you're using the Orc
API directly.  All code created by orcc is guaranteed to work
without calling orc_init().
2010-09-05 18:45:21 -07:00
David Schleef 6143a60bdb deinterlace: Fix greedyl Orc implementation
To agree with the previous C/asm code.
2010-09-05 18:42:59 -07:00
Thiago Santos de8fda9cc2 videomixer2: Fail when caps are incompatible
Do not forget to return false when caps are incompatible.
2010-09-05 22:34:36 -03:00
Thiago Santos 8435529073 videomixer: Only init orc if it is available
Put some ifdef around orc_init to prevent build errors
2010-09-05 20:56:52 -03:00
Sebastian Dröge 21fc0956d6 Automatic update of common submodule
From ec60217 to d3d9acf
2010-09-05 12:17:08 +02:00
David Schleef 6584c75afe deinterlace: Update disted Orc files 2010-09-04 12:46:31 -07:00
David Schleef 178c57be4f v4l2src: add decimate property 2010-09-04 12:39:26 -07:00
David Schleef 75d0795e53 dvdemux: Parse SMPTE time codes 2010-09-04 12:39:25 -07:00
David Schleef f35d546c71 deinterlace: remove assembly code in favor of orc 2010-09-04 12:39:11 -07:00
David Schleef 02196850dd deinterlace: implement greedy in Orc 2010-09-04 12:39:11 -07:00
David Schleef 294d5c48da update disted Orc files 2010-09-04 11:43:21 -07:00
Thibault Saunier 08fd719898 alphacolor: Fix classification
This is no effect but a converter. Fixes bug #628608.
2010-09-04 14:55:43 +02:00
Sebastian Dröge e79742205c videomixer2: Add documentation and add to the docs 2010-09-04 14:55:43 +02:00
Sebastian Dröge bcfd60a8d2 videomixer2: Add videomixer2 element
This is based on collectpads2 and is synchronizing
all streams based on the running time.

New features compared to old videomixer:
 * Synchronizing frames on the running time
 * Improved and simplified negotiation
 * Full QoS support
 * Variable framerate support

Fixes bug #626048, #624905.
2010-09-04 14:52:11 +02:00
Pavel Kostyuchenko 6940559c46 matroskademux: Relax parsing of date tags
Before we required a complete date in matroskademux but in
id3demux for example only the year or year and month was possible too.

Fixes bug #628454.
2010-09-04 14:52:11 +02:00
Sjoerd Simons e9a30e454a v4l2src: Use GstBaseSrc::block-size as fallback size 2010-09-04 14:52:11 +02:00
Sjoerd Simons 74d7521a7c v4l2src: Fix using mpegts via the mmap interface
MPEG doesn't have a static size per frame, so don't pretend it has one
and fail when capturing because it doesn't match. Instead mark the size
as unknown and let the read frame grabbing method use a reasonable fallback
value (assuming that's only for actual streaming formats)

Fixes bug #628349.
2010-09-04 14:52:11 +02:00
Sebastian Dröge 8fa6504d34 wavpackparse: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:11 +02:00
Sebastian Dröge 58427ee02d pngdec: Don't use GST_FLOW_IS_FATAL()
And don't post an error message if downstream returns UNEXPECTED.
2010-09-04 14:52:11 +02:00
Sebastian Dröge 0cf904f0bb dvdemux: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:11 +02:00
Sebastian Dröge b606ab06e5 jpegdec: Don't use GST_FLOW_IS_FATAL()
And don't post an error message if buffer allocation failed because
of UNEXPECTED, which only means that downstream wants us to EOS now.
2010-09-04 14:52:10 +02:00
Sebastian Dröge 2f7c0d21b6 flacenc/dec: Don't use GST_FLOW_IS_FATAL()
And properly handle UNEXPECTED and WRONG_STATE.
2010-09-04 14:52:10 +02:00
Sebastian Dröge 0753d9fee3 cmmldec/enc: Don't use GST_FLOW_IS_FATAL()
And as a result, don't ignore WRONG_STATE and NOT_LINKED.
Both mean that it's a good idea to pass them upstream instead
of pretending that everything is good.
2010-09-04 14:52:10 +02:00
Sebastian Dröge 55a52262d3 wavparse: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:10 +02:00
Sebastian Dröge d224251df4 rtspsrc: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS() 2010-09-04 14:52:10 +02:00
Sebastian Dröge 7fe34f3889 qtdemux: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:10 +02:00
Sebastian Dröge e8743b3789 matroskademux: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:09 +02:00
Sebastian Dröge 1243b76df7 rndbuffersize: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:09 +02:00
Sebastian Dröge 78eca34a6d flvdemux: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:09 +02:00
Sebastian Dröge 1ce0b2dfc7 avidemux: Don't use GST_FLOW_IS_FATAL()
And document why wrong-state doesn't need an error message.
2010-09-04 14:52:09 +02:00
Sebastian Dröge 37ee281d13 pulsesink: Fail gracefully if no threaded PA mainloop can be created
Fixes bug #628020.
2010-09-04 14:52:09 +02:00
Sebastian Dröge 77c7f5fdcd videomixer: Update disted ORC files 2010-09-04 14:52:09 +02:00
Sebastian Dröge 6da14d0c41 videomixer: Optimize ARGB blending and implement BGRA blending with orc
This now means, that we have absolutely no handwritten assembly anymore
in videomixer and it's also faster now when using SSE.
2010-09-04 14:52:09 +02:00
David Schleef 7cfa519547 videomixer: Add orc implementation for blending
videomixer: Add orc implementation for blending
2010-09-04 14:52:08 +02:00
David Schleef 1ace738c3a videomixer: Fix example pipelines
videomixer: Fix example pipelines
2010-09-04 14:52:08 +02:00
Sebastian Dröge 89bb403ffc imagefreeze: Add test for checking if imagefreeze correctly returns UNEXPECTED after the first buffer 2010-09-04 14:52:08 +02:00
Sebastian Dröge 6b705ba6f5 imagefreeze: Add test for bufferalloc passthrough 2010-09-04 14:52:08 +02:00
Sebastian Dröge 5cd240952e imagefreeze: Fix race conditions in the unit test
If setting the pipeline to PLAYING before issuing the seek, buffers
are already arriving at the sink before the seek is handled and
will have the wrong timestamps and everything.

Fixes bug #625547.
2010-09-04 14:52:08 +02:00
Sebastian Dröge 86403e85c5 imagefreeze: Fix another subtle race condition related to starting the srcpad task
Due to a seek the srcpad task could be started in rare circumstances although
it shouldn't be started anymore because no upstream buffer is available.
2010-09-04 14:52:08 +02:00
Sebastian Dröge e51fe6c181 imagefreeze: Protect the flushing-seek variable by the srcpad's stream lock
This fixes a subtle race condition, that caused bufferalloc to fail
with wrong-state due to a seek but caused it to be not retried as
it should.
2010-09-04 14:52:08 +02:00
Sebastian Dröge d8ef9bb691 imagefreeze: Always generate a perfectly timestamped stream
Before there could be rounding errors when calculating the duration,
resulting in timestamp + duration being smaller than the next buffer's
timestamp.
2010-09-04 14:52:07 +02:00
Sebastian Dröge 998adeb974 pulsesink: Only include the server name in the context name if it's not NULL 2010-09-04 14:52:07 +02:00
Philippe Normand 7116fff3c5 pulsesink: Add "client" property to set the PA client name
Allows the application to modify the client name used to connect when
connecting to the PulseAudio daemon. Note however that updating the
property after the element reached the READY state will have no
effect until the next NULL->READY transition.

Fixes bug #627174.
2010-09-04 14:52:07 +02:00
David Hoyt d011e96028 souphttpsrc: Improve error messages
Before they contained the URL before the actual failure. The other
way around makes more sense and we do the same in other elements
like filesrc.

Fixes bug #627289.
2010-09-04 14:52:07 +02:00
Sebastian Dröge 03f2e81f69 pulsesink: Free the clock on state change failures too 2010-09-04 14:52:07 +02:00
Philippe Normand 39d2ef5136 pulseutil: include pid value in gst_pulse_client_name() fallback return value
Fixes bug #627162
2010-09-04 14:52:06 +02:00
Sebastian Dröge bc5345bbd3 pulsesink: Free the GstPulseContext after usage 2010-09-04 14:52:06 +02:00
Philippe Normand 69a397c32f pulsesink: share the PA context between all clients with the same name
Avoid to create a new PA context for each new client by using a hash
table containing the list of ring-buffers and the shared PA context
for each client. Doing this will improve application memory usage in
the cases where multiple pipelines involving multiple pulsesink
elements are used.

Fixes bug #624338.
2010-09-04 14:52:06 +02:00
Philippe Normand 2c5976d355 pulsesink: clear the PA mainloop if baseaudiosink failed to open the ring_buffer
If the application requests a state-change and pulsesink fails to open
the ring_buffer device the mainloop attribute of the sink should be
cleaned up to avoid future state-change (NULL->READY) failures.
2010-09-04 14:52:06 +02:00
Sebastian Dröge 95f5b494fa wavparse: Post an error message if EOS happens before valid input is found
Fixes bug #627341.
2010-09-04 14:52:06 +02:00