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
Thiago Santos [Thu, 19 Aug 2010 21:30:05 +0000 (18:30 -0300)]
jpegdec: Prevent crash when reading image with problems
Check if we have data on the adapter and fail if not.
Fixes #627413
Stefan Kost [Fri, 13 Aug 2010 14:24:01 +0000 (17:24 +0300)]
Automatic update of common submodule
From 3e8db1d to ec60217
Sebastian Dröge [Wed, 11 Aug 2010 20:20:25 +0000 (22:20 +0200)]
imagefreeze: Send close segments when seeking only for non-flushing seeks and if we already sent a newsegment event
Fixes bug #626619.
Tim-Philipp Müller [Wed, 11 Aug 2010 15:50:42 +0000 (16:50 +0100)]
0.10.24.3 pre-release
Mark Nauwelaerts [Wed, 11 Aug 2010 09:17:18 +0000 (11:17 +0200)]
qtdemux: prevent reading past avc1 atom when parsing
... when one of the subatoms has a large/invalid size.
Fixes #626609.
Tim-Philipp Müller [Tue, 10 Aug 2010 22:37:23 +0000 (23:37 +0100)]
0.10.24.2 pre-release
Tim-Philipp Müller [Tue, 10 Aug 2010 09:57:45 +0000 (10:57 +0100)]
Automatic update of common submodule
From bd2054b to 3e8db1d
Tim-Philipp Müller [Sun, 8 Aug 2010 23:36:36 +0000 (00:36 +0100)]
pulse: fix printf format in some debugging messages
Tim-Philipp Müller [Sun, 8 Aug 2010 22:31:42 +0000 (23:31 +0100)]
pkgconfig: set pluginsdir to top-level builddir without the pkgconfig/.. bits
Removes clutter in plugin dir paths. This is only used to find the -good
plugins for unit tests of ugly/bad/ffmpeg/etc. in an uninstalled setup.
Tim-Philipp Müller [Fri, 6 Aug 2010 19:04:59 +0000 (20:04 +0100)]
v4l2src: also log pixel formats in sorted order
Sjoerd Simons [Fri, 6 Aug 2010 17:07:46 +0000 (18:07 +0100)]
v4l2: sort formats in the right order so that non-emulated formats are prefered
The format list should be sorted from high ranks to low ranks. In the GSList
sorting function this means the compare needs to return a positive value if
format a has a lower rank than format b.
Among other things this fixes v4l2src to prefer non-emulated formats
to emulated formats when built against libv4l.
Sebastian Dröge [Fri, 6 Aug 2010 17:24:06 +0000 (19:24 +0200)]
videomixer: Fix pipeline in the documentation
Make sure that we have the same color format on all streams, i.e. AYUV
Fixes bug #625452.
Stefan Kost [Thu, 5 Aug 2010 10:56:44 +0000 (13:56 +0300)]
Automatic update of common submodule
From a519571 to bd2054b
Jonathan Matthew [Mon, 14 Jun 2010 09:58:11 +0000 (19:58 +1000)]
id3v2mux: write beats-per-minute tag using TBPM frame
https://bugzilla.gnome.org/show_bug.cgi?id=621520
Sebastian Dröge [Sun, 25 Jul 2010 09:47:43 +0000 (11:47 +0200)]
videomixer: Move debug categories into the source files and add debug category for the blend functions
Sebastian Dröge [Wed, 4 Aug 2010 17:25:31 +0000 (19:25 +0200)]
configure: Check if the compiler supports ISO C89 or C99 and which parameters are required
This first checks what is required for ISO C99 support and sets the relevant
compiler parameters and if no C99 compiler is found, it checks for a
C89 compiler. This enables us to check for and use C89/C99 functions
that gcc hides from us without the correct compiler parameters.
Philippe Normand [Thu, 15 Jul 2010 08:10:31 +0000 (10:10 +0200)]
pulsesink: use G_TYPE_DEFINE to define ring buffer type
The existing get_type() implementation is racy, and the
g_type_class_ref() workaround didn't actually work because
it was in the wrong function. Since class creation in GObject
is thread-safe these days (since 2.16), the class_ref workaround
is no longer needed and it is sufficient to ensure the _get_type()
function is thread-safe, which G_TYPE_DEFINE does.
https://bugzilla.gnome.org/show_bug.cgi?id=624338
Sebastian Dröge [Wed, 4 Aug 2010 13:20:42 +0000 (15:20 +0200)]
pulsesink: Post CLOCK-LOST/CLOCK-PROVIDE when going to/from READY
Otherwise the clocks are redistributed every time the pipeline
goes to PAUSED, which is quite expensive.