Tim-Philipp Müller [Tue, 7 Sep 2010 10:42:10 +0000 (11:42 +0100)]
Automatic update of common submodule
From c2e10bf to aa0d1d0
Tim-Philipp Müller [Tue, 7 Sep 2010 08:20:03 +0000 (09:20 +0100)]
cmmldec: fix flow return handling
Fix buggy GST_FLOW_IS_FATAL substitution, and 'make check':
- if (!GST_FLOW_IS_FATAL (dec->flow_return) && !dec->sent_root) {
+ if (dec->flow_return != GST_FLOW_OK && !dec->sent_root) {
Stefan Kost [Mon, 6 Sep 2010 21:27:07 +0000 (00:27 +0300)]
pulsesink: don't free the context multiple times
Apparently the close function of the ring-buffer can be called multiple times.
Stefan Kost [Thu, 12 Aug 2010 09:33:06 +0000 (12:33 +0300)]
rtpmp4adepay: grab the sampling arte and put into caps
This is needed to be able to mux the received audio into mp4 (in the case of
aac). Fixes #625825.
Tim-Philipp Müller [Mon, 6 Sep 2010 13:40:02 +0000 (14:40 +0100)]
rtp: mark constant tables as const
Mark Nauwelaerts [Wed, 18 Aug 2010 12:40:48 +0000 (14:40 +0200)]
rtpamrpay: properly support perfect-rtptime
Mark Nauwelaerts [Wed, 18 Aug 2010 09:42:33 +0000 (11:42 +0200)]
rtpamrpay: proper duration for multiple frame payload
Mark Nauwelaerts [Wed, 18 Aug 2010 09:42:07 +0000 (11:42 +0200)]
rtpamr(de)pay: support AMR-WB SID frame
Mark Nauwelaerts [Wed, 18 Aug 2010 09:39:06 +0000 (11:39 +0200)]
rtpg729pay: properly support perfect-rtptime
Mark Nauwelaerts [Mon, 16 Aug 2010 14:08:04 +0000 (16:08 +0200)]
qtdemux: improve framerate determining
Collect a limited number of starting sample durations and use the median of
those to determine caps framerate.
Mark Nauwelaerts [Tue, 17 Aug 2010 10:08:10 +0000 (12:08 +0200)]
matroskademux: attempt more resync upon (cluster) parse error
That is, if parse error occurs in state requiring to move to next cluster,
and doing so to the expected next position of cluster fails, then scan for a
next cluster from present position and resume from there.
Fixes #620790.
Mark Nauwelaerts [Mon, 16 Aug 2010 14:05:41 +0000 (16:05 +0200)]
matroskademux: not so fatal error handling
If some bits out of place in block(group) parsing, forego and move to next.
Also skip large blocks in pull mode, but need to give up in push mode.
Fixes #626463.
Improves #620790.
Mark Nauwelaerts [Mon, 26 Jul 2010 13:51:49 +0000 (15:51 +0200)]
matroskademux: additional parse recovery
In particular, upon parse failure in one cluster, we may forego remaining
content and try resuming from next cluster onwards.
Fixes #620790.
American Dynamics [Mon, 6 Sep 2010 10:22:11 +0000 (12:22 +0200)]
rtspsrc: Add property to configure udpsrc buffer size
Add a new udp-buffer-size property to configure the buffer-size on the udpsrc
elements.
Fixes #628058
Wim Taymans [Fri, 27 Aug 2010 15:58:47 +0000 (17:58 +0200)]
rtpbin: add ntp-sync property
Add an ntp-sync property that will sync the received streams to the server
NTP time. This requires synchronized NTP times between the sender and receivers,
like with ntpd.
Based on patch from Thijs Vermeir.
Fixes #627796
Wim Taymans [Fri, 27 Aug 2010 10:14:25 +0000 (12:14 +0200)]
jitterbuffer: rename a variable to avoid confusion
Wim Taymans [Fri, 27 Aug 2010 09:07:34 +0000 (11:07 +0200)]
rtpbin: rename some variables for less confusion
Wim Taymans [Fri, 27 Aug 2010 08:41:01 +0000 (10:41 +0200)]
rtpjitterbuffer: move comment where it belongs
Wim Taymans [Thu, 26 Aug 2010 14:00:38 +0000 (16:00 +0200)]
session: minor cleanups
Make clock snapshots more accurate by only sampling the same clock once.
Thijs Vermeir [Thu, 26 Aug 2010 08:58:26 +0000 (10:58 +0200)]
rtpbin: add use-pipeline-clock property
With this property RTCP SR NTP times can be based
on the system clock (maybe synced with ntpd) or the
current pipeline clock.
https://bugzilla.gnome.org/show_bug.cgi?id=627796
Wim Taymans [Wed, 25 Aug 2010 07:58:20 +0000 (09:58 +0200)]
rtspext: stop configuration on first failure
Stop the configuration of a stream as soon as some of the extensions return
FALSE.
Fixes #581294
Wim Taymans [Fri, 20 Aug 2010 13:35:27 +0000 (15:35 +0200)]
multifdsink: use refcount to count host/port duplicates
Instead of adding multiple client structures for the same host/port pair, use a
refcount.
Add a send-duplicates feature that allows you to disable sending multiple copies
of the same packet to the same host when it was added multiple times. The
send-duplicates property is by default set to TRUE for backwards compatibility
although it is very likely that this is not desired behaviour.
Wim Taymans [Thu, 19 Aug 2010 15:06:26 +0000 (17:06 +0200)]
rtspsrc: implement custom event handler
Extend the _push_event() function so that it can also send events to the udp
sources when asked.
Implement a custum send_event function that correctly dispatches the downstream
events in TCP mode. This fixes sending EOS to rtspsrc and have it push the EOS
downstream.
Wim Taymans [Thu, 19 Aug 2010 09:37:04 +0000 (11:37 +0200)]
pulsesrc: use _get_caps_reffed() when we can
Use _get_caps_reffed()
Add some more debug when opening the server connection.
Wim Taymans [Mon, 16 Aug 2010 09:29:07 +0000 (11:29 +0200)]
jpegdepay: handle DISCONT and reset state
Put a DISCONT event on the next output buffer when the input buffer had a
DISCONT.
Make sure we clear our adapter and reset our state before going to PAUSED.
Free the qtables.
Fixes #626869
Wim Taymans [Mon, 16 Aug 2010 09:27:53 +0000 (11:27 +0200)]
g729pay: extend from right parent
Stefan Kost [Mon, 6 Sep 2010 06:57:10 +0000 (09:57 +0300)]
pulsesink: add since docs for new property.
Stefan Kost [Mon, 30 Aug 2010 13:45:48 +0000 (16:45 +0300)]
qtdemux: use GST_BOILERPLATE macro
Stefan Kost [Mon, 16 Aug 2010 14:23:58 +0000 (17:23 +0300)]
videmixer: add a example showing how to use the child properties
Show how to position and set the alpho of the videos on gst-launch.
Stefan Kost [Mon, 16 Aug 2010 12:19:38 +0000 (15:19 +0300)]
pulsesrc: move the property-setter to the getter.
Stefan Kost [Wed, 11 Aug 2010 12:48:18 +0000 (15:48 +0300)]
spectrum only aggregate magnitude/phase if user asks for it
Stefan Kost [Wed, 11 Aug 2010 12:45:56 +0000 (15:45 +0300)]
spectrum: improve performance with local vars
Use 'input' instead of 'spectrum->input' which was intende already (variable
exists, but not used everywhere). Also use a local version of
'spectrum->input_pos'.
Stefan Kost [Wed, 11 Aug 2010 12:44:03 +0000 (15:44 +0300)]
spectrum: code cleanup
More comments and logging. Extract one complex condition to a variable. Reorder
some code for readability.
Stefan Kost [Wed, 11 Aug 2010 12:40:09 +0000 (15:40 +0300)]
spectrum: improve property setter
consistently only update if the property actualy changed the value. Do it
without reading the gvalue twice. No need to reset the spectrum analyzer for
threshold changes.
Stefan Kost [Wed, 11 Aug 2010 12:38:24 +0000 (15:38 +0300)]
spectrum: add helper to only flush ringbuffer data without resetting the fft
Reduces some duplicated code as well.
Stefan Kost [Wed, 11 Aug 2010 09:45:53 +0000 (12:45 +0300)]
spectrum: more comments
David Schleef [Mon, 6 Sep 2010 05:22:42 +0000 (22:22 -0700)]
deinterlace: Document methods with bad quality
David Schleef [Mon, 6 Sep 2010 05:19:56 +0000 (22:19 -0700)]
deinterlace: initialize all deinterlace class members
This fixes UYVY deinterlacing.
David Schleef [Mon, 6 Sep 2010 01:58:13 +0000 (18:58 -0700)]
Automatic update of common submodule
From d3d9acf to c2e10bf
David Schleef [Mon, 6 Sep 2010 01:45:21 +0000 (18:45 -0700)]
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().
David Schleef [Mon, 6 Sep 2010 01:40:48 +0000 (18:40 -0700)]
deinterlace: Fix greedyl Orc implementation
To agree with the previous C/asm code.
Thiago Santos [Mon, 6 Sep 2010 01:31:34 +0000 (22:31 -0300)]
videomixer2: Fail when caps are incompatible
Do not forget to return false when caps are incompatible.
Thiago Santos [Sun, 5 Sep 2010 23:56:52 +0000 (20:56 -0300)]
videomixer: Only init orc if it is available
Put some ifdef around orc_init to prevent build errors
Sebastian Dröge [Sun, 5 Sep 2010 10:17:08 +0000 (12:17 +0200)]
Automatic update of common submodule
From ec60217 to d3d9acf
David Schleef [Sat, 4 Sep 2010 19:46:31 +0000 (12:46 -0700)]
deinterlace: Update disted Orc files
David Schleef [Mon, 29 Jun 2009 18:43:07 +0000 (11:43 -0700)]
v4l2src: add decimate property
David Schleef [Fri, 4 Jun 2010 19:09:23 +0000 (12:09 -0700)]
dvdemux: Parse SMPTE time codes
David Schleef [Mon, 23 Aug 2010 09:50:36 +0000 (02:50 -0700)]
deinterlace: remove assembly code in favor of orc
David Schleef [Tue, 8 Jun 2010 21:54:49 +0000 (14:54 -0700)]
deinterlace: implement greedy in Orc
David Schleef [Sat, 4 Sep 2010 18:43:21 +0000 (11:43 -0700)]
update disted Orc files
Thibault Saunier [Thu, 2 Sep 2010 12:34:50 +0000 (14:34 +0200)]
alphacolor: Fix classification
This is no effect but a converter. Fixes bug #628608.
Sebastian Dröge [Thu, 2 Sep 2010 09:19:06 +0000 (11:19 +0200)]
videomixer2: Add documentation and add to the docs
Sebastian Dröge [Mon, 26 Jul 2010 14:07:15 +0000 (16:07 +0200)]
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.
Pavel Kostyuchenko [Wed, 1 Sep 2010 09:11:34 +0000 (11:11 +0200)]
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.
Sjoerd Simons [Mon, 30 Aug 2010 18:03:52 +0000 (19:03 +0100)]
v4l2src: Use GstBaseSrc::block-size as fallback size
Sjoerd Simons [Mon, 30 Aug 2010 17:36:54 +0000 (18:36 +0100)]
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.
Sebastian Dröge [Fri, 27 Aug 2010 16:15:03 +0000 (18:15 +0200)]
wavpackparse: Don't use GST_FLOW_IS_FATAL()
Sebastian Dröge [Fri, 27 Aug 2010 16:13:21 +0000 (18:13 +0200)]
pngdec: Don't use GST_FLOW_IS_FATAL()
And don't post an error message if downstream returns UNEXPECTED.
Sebastian Dröge [Fri, 27 Aug 2010 16:09:11 +0000 (18:09 +0200)]
dvdemux: Don't use GST_FLOW_IS_FATAL()
Sebastian Dröge [Fri, 27 Aug 2010 16:05:50 +0000 (18:05 +0200)]
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.
Sebastian Dröge [Fri, 27 Aug 2010 16:02:57 +0000 (18:02 +0200)]
flacenc/dec: Don't use GST_FLOW_IS_FATAL()
And properly handle UNEXPECTED and WRONG_STATE.
Sebastian Dröge [Fri, 27 Aug 2010 15:52:18 +0000 (17:52 +0200)]
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.
Sebastian Dröge [Fri, 27 Aug 2010 15:47:22 +0000 (17:47 +0200)]
wavparse: Don't use GST_FLOW_IS_FATAL()
Sebastian Dröge [Fri, 27 Aug 2010 15:45:53 +0000 (17:45 +0200)]
rtspsrc: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS()
Sebastian Dröge [Fri, 27 Aug 2010 15:39:32 +0000 (17:39 +0200)]
qtdemux: Don't use GST_FLOW_IS_FATAL()
Sebastian Dröge [Fri, 27 Aug 2010 15:37:33 +0000 (17:37 +0200)]
matroskademux: Don't use GST_FLOW_IS_FATAL()
Sebastian Dröge [Fri, 27 Aug 2010 15:35:47 +0000 (17:35 +0200)]
rndbuffersize: Don't use GST_FLOW_IS_FATAL()
Sebastian Dröge [Fri, 27 Aug 2010 15:35:38 +0000 (17:35 +0200)]
flvdemux: Don't use GST_FLOW_IS_FATAL()
Sebastian Dröge [Fri, 27 Aug 2010 15:32:09 +0000 (17:32 +0200)]
avidemux: Don't use GST_FLOW_IS_FATAL()
And document why wrong-state doesn't need an error message.
Sebastian Dröge [Thu, 26 Aug 2010 11:44:49 +0000 (13:44 +0200)]
pulsesink: Fail gracefully if no threaded PA mainloop can be created
Fixes bug #628020.
Sebastian Dröge [Tue, 24 Aug 2010 13:11:20 +0000 (15:11 +0200)]
videomixer: Update disted ORC files
Sebastian Dröge [Mon, 23 Aug 2010 13:44:50 +0000 (15:44 +0200)]
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.
David Schleef [Sun, 22 Aug 2010 08:58:05 +0000 (01:58 -0700)]
videomixer: Add orc implementation for blending
videomixer: Add orc implementation for blending
David Schleef [Sun, 22 Aug 2010 08:54:16 +0000 (01:54 -0700)]
videomixer: Fix example pipelines
videomixer: Fix example pipelines
Sebastian Dröge [Fri, 20 Aug 2010 09:41:55 +0000 (11:41 +0200)]
imagefreeze: Add test for checking if imagefreeze correctly returns UNEXPECTED after the first buffer
Sebastian Dröge [Fri, 20 Aug 2010 09:38:09 +0000 (11:38 +0200)]
imagefreeze: Add test for bufferalloc passthrough
Sebastian Dröge [Fri, 20 Aug 2010 08:35:15 +0000 (10:35 +0200)]
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.
Sebastian Dröge [Fri, 20 Aug 2010 08:34:17 +0000 (10:34 +0200)]
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.
Sebastian Dröge [Fri, 20 Aug 2010 08:24:33 +0000 (10:24 +0200)]
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.
Sebastian Dröge [Fri, 20 Aug 2010 07:14:59 +0000 (09:14 +0200)]
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.
Sebastian Dröge [Thu, 19 Aug 2010 16:38:39 +0000 (18:38 +0200)]
pulsesink: Only include the server name in the context name if it's not NULL
Philippe Normand [Wed, 18 Aug 2010 14:37:41 +0000 (16:37 +0200)]
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.
David Hoyt [Thu, 19 Aug 2010 15:59:09 +0000 (17:59 +0200)]
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.
Sebastian Dröge [Thu, 19 Aug 2010 10:46:50 +0000 (12:46 +0200)]
pulsesink: Free the clock on state change failures too
Philippe Normand [Tue, 17 Aug 2010 14:26:41 +0000 (16:26 +0200)]
pulseutil: include pid value in gst_pulse_client_name() fallback return value
Fixes bug #627162
Sebastian Dröge [Thu, 19 Aug 2010 10:32:59 +0000 (12:32 +0200)]
pulsesink: Free the GstPulseContext after usage
Philippe Normand [Mon, 16 Aug 2010 07:12:04 +0000 (09:12 +0200)]
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.
Philippe Normand [Tue, 17 Aug 2010 11:41:49 +0000 (13:41 +0200)]
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.
Sebastian Dröge [Thu, 19 Aug 2010 10:23:16 +0000 (12:23 +0200)]
wavparse: Post an error message if EOS happens before valid input is found
Fixes bug #627341.
Sebastian Dröge [Thu, 12 Aug 2010 09:49:47 +0000 (11:49 +0200)]
avidemux: Send close newsegment event from the streaming thread
Sebastian Dröge [Wed, 11 Aug 2010 09:36:31 +0000 (11:36 +0200)]
imagefreeze: Retry bufferalloc if it was aborted with WRONG_STATE because of a flushing seek
Sebastian Dröge [Wed, 11 Aug 2010 06:46:14 +0000 (08:46 +0200)]
imagefreeze: Return GST_FLOW_UNEXPECTED when getting a second buffer
This prevents upstream from pushing many useless buffers and makes
it go into EOS state.
Sebastian Dröge [Tue, 10 Aug 2010 18:11:26 +0000 (20:11 +0200)]
imagefreeze: Passthrough buffer allocations
Tim-Philipp Müller [Sat, 4 Sep 2010 12:10:30 +0000 (13:10 +0100)]
Back to development
Temporarily disable -DGST_DISABLE_DEPRECATED for git builds until
the code is updated for the GST_FLOW_IS_* macro deprecations.
Tim-Philipp Müller [Thu, 2 Sep 2010 22:44:19 +0000 (23:44 +0100)]
Release 0.10.25
Tim-Philipp Müller [Thu, 2 Sep 2010 22:12:48 +0000 (23:12 +0100)]
docs: update docs for release
Tim-Philipp Müller [Thu, 2 Sep 2010 22:07:36 +0000 (23:07 +0100)]
po: update translations
Sebastian Dröge [Wed, 25 Aug 2010 17:01:50 +0000 (19:01 +0200)]
0.10.24.5 pre-release
David Schleef [Mon, 23 Aug 2010 04:15:07 +0000 (21:15 -0700)]
deinterlace: use separate buffer metadata for fields
Call gst_buffer_make_metadata_writable() on buffers that are
duplicated into fields. Fixes #627689.
Sebastian Dröge [Sat, 21 Aug 2010 19:41:36 +0000 (21:41 +0200)]
0.10.24.4 pre-release