Tim-Philipp Müller [Wed, 29 Dec 2010 23:38:18 +0000 (23:38 +0000)]
matroska-demux: increase allowed max. block size for push mode from 10M to 15M
It was an arbitrary limit from the start, meant as a basic sanity check,
so may just as well increase it a little. Would be good to provide
progress reporting while completing the block in any case..
https://bugzilla.gnome.org/show_bug.cgi?id=637060
Tim-Philipp Müller [Wed, 29 Dec 2010 23:09:04 +0000 (23:09 +0000)]
matroska-demux: assume matroska if no doctype is specified
https://bugzilla.gnome.org/show_bug.cgi?id=638019
Rob Clark [Sat, 4 Dec 2010 19:43:11 +0000 (13:43 -0600)]
v4l2: add interlaced support
Rob Clark [Sat, 2 Oct 2010 19:45:14 +0000 (14:45 -0500)]
v4l2sink: add navigation support
Rob Clark [Sun, 4 Apr 2010 11:43:41 +0000 (06:43 -0500)]
v4l2: add norm property
Based on a patch by Guennadi Liakhovetski.
Rob Clark [Tue, 13 Jul 2010 15:03:51 +0000 (10:03 -0500)]
v4l2: cleanup get/set input/output
output devices should use get/set output, and in either case we should
not print a warning message if the ioctl fails but the device does not
claim to support the tuner interface
Rob Clark [Thu, 10 Jun 2010 16:15:46 +0000 (11:15 -0500)]
v4l2xoverlay: add support to create window
If xoverlay is available, v4l2sink should create a window for the overlay to
display in.
The window automatically tries to make itself as large as possible.
This works well on a small screen, but perhaps should first attempt to use
the size of the video that is played (no scaling).
Rob Clark [Sun, 4 Apr 2010 11:41:28 +0000 (06:41 -0500)]
v4l2sink: special handling for cases gst_buffer_make_metadata_writable()
Special case check for sub-buffers: In certain cases, places like
GstBaseTransform, which might check that the buffer is writable before copying
metadata, timestamp, and such, will find that the buffer has more than one
reference to it. In these cases, they will create a sub-buffer with an offset=0
and length equal to the original buffer size.
This could happen in two scenarios: (1) a tee in the pipeline, and (2) because
the refcnt is incremented in gst_mini_object_free() before the finalize function
is called, and decremented after it returns.. but returning this buffer to the
buffer pool in the finalize function, could wake up a thread blocked in
_buffer_alloc() which could run and get a buffer w/ refcnt==2 before the thread
originally unref'ing the buffer returns from finalize function and decrements
the refcnt back to 1!
This is related to issue #545501
Rob Clark [Sun, 4 Apr 2010 11:39:52 +0000 (06:39 -0500)]
v4l2: fix race condition
The size of the buffer would be zero'd out in gst_v4l2_buffer_finalize()
after the buffer is qbuf'd or pushed onto the queue of available buffers..
leaving a race condition where the thread waiting for the buffer could awake
and set back a valid size before the finalizing thread zeros out the length.
This would result that the newly allocated buffer has length of zero.
Rob Clark [Sun, 4 Apr 2010 11:39:08 +0000 (06:39 -0500)]
v4l2sink: add properties to control crop
Rob Clark [Sun, 4 Apr 2010 11:37:16 +0000 (06:37 -0500)]
v4l2: re-enable x-overlay support
Rob Clark [Sat, 25 Dec 2010 17:52:36 +0000 (11:52 -0600)]
v4l2sink: fix for PAUSED->READY->PAUSED state transitions
When v4l2sink goes to PAUSED->READY it only stops streaming, so the state
should be set to STATE_PENDING_STREAMON in case the element transitions
back to PLAYING.
Rob Clark [Sun, 4 Apr 2010 11:28:51 +0000 (06:28 -0500)]
v4l2sink: add "min-queued-bufs" property
Rob Clark [Sun, 4 Apr 2010 11:26:50 +0000 (06:26 -0500)]
v4l2sink: Add support for blocking dequeue.
We'd prefer to throttle the decoder if we run out of buffers, to keep a bound
on memory usage. Also, for OMAP4 it is a requirement of the decoder to not
alternate between memory alloced by the display driver and malloc'd userspace
memory.
Rob Clark [Sun, 4 Apr 2010 11:24:41 +0000 (06:24 -0500)]
v4l2: clear flags before reusing buffer from buffer pool
note: this really only affects v4l2sink since gst_v4l2_buffer_pool_get() is
only called once per buffer in the v4l2src case (in
gst_v4l2src_buffer_pool_activate())
Rob Clark [Sun, 4 Apr 2010 11:23:31 +0000 (06:23 -0500)]
v4l2sink: don't render preroll buffers
Most v4l2 drivers will get upset when you queue the same buffer twice in a
row without first dequeueing it.
Rendering of pre-roll buffers can be re-introduced later, but will require
tracking the state of the buffer, and avoiding to re-QBUF if the buffer has
already been passed to the driver.
Rob Clark [Sun, 4 Apr 2010 11:22:43 +0000 (06:22 -0500)]
v4l2sink: Improve behavior for shared buffers.
When the decoder is using pad_alloc(), v4l2sink would behave badly if
the number of buffers ('queue-size' property) was not high enough to
account for all the buffers needed by the decoder, and other elements
(such as queues) between the decoder and v4l2sink. This patch
slightly increases the default number of buffers, and changes v4l2sink
to drop frames rather than return an error in case the number of
buffers is not high enough.
Andy Wingo [Mon, 15 Nov 2010 14:58:28 +0000 (15:58 +0100)]
add "client" property
* ext/pulse/pulsesrc.c (gst_pulsesrc_class_init, gst_pulsesrc_init)
(gst_pulsesrc_set_property, gst_pulsesrc_get_property)
(gst_pulsesrc_open): Add a "client" property, as in pulsesink.
Fixes #634914
Tim-Philipp Müller [Wed, 29 Dec 2010 15:54:46 +0000 (15:54 +0000)]
rtspsrc: serialise/deserialise floats without changing locale
Use g_ascii_dtostr() and g_ascii_strtod() to serialise/deserialise
floating point numbers, instead of ugly hacks that switch locale
before and after calling libc functions (which is not a good idea
in a multi-threaded application).
Tim-Philipp Müller [Wed, 29 Dec 2010 14:40:05 +0000 (14:40 +0000)]
rtpjpegdepay: fix framerate parsing for locales that use a comma as floating point
atof() converts strings according to the current locale, but the
framerate string will likely always use a dot as floating point
separator, so use g_ascii_strtod() instead (but also canonicalise
the string before, so we can handle both formats as input).
Wim Taymans [Mon, 27 Dec 2010 12:11:59 +0000 (13:11 +0100)]
rtpsource: use the right variable
Use the right variable for specifying that we sent a receiver report.
Rob Clark [Thu, 23 Dec 2010 22:42:29 +0000 (16:42 -0600)]
v4l2: fix typo
Rob Clark [Thu, 23 Dec 2010 22:03:00 +0000 (16:03 -0600)]
matroska-demux: add stream-format and alignment properties for h264
Wim Taymans [Wed, 22 Dec 2010 10:41:59 +0000 (11:41 +0100)]
gstpay: fix klass, add RTP as a use case
Wim Taymans [Sun, 12 Dec 2010 14:10:47 +0000 (15:10 +0100)]
gstdepay: cleanup the cache
Wim Taymans [Sun, 12 Dec 2010 04:10:01 +0000 (05:10 +0100)]
gstpay/depay: add generic gstreamer payloader
Add the beginnings of a generic GStreamer buffers payloader.
Wim Taymans [Thu, 23 Dec 2010 16:06:58 +0000 (17:06 +0100)]
mp4gpay: reset state on flush-stop
Wim Taymans [Thu, 23 Dec 2010 15:26:07 +0000 (16:26 +0100)]
mp4gdepay: flush state on flush-stop
Wim Taymans [Thu, 23 Dec 2010 15:25:15 +0000 (16:25 +0100)]
rtspsrc: on-npt-stop is a manager signal
Wim Taymans [Thu, 23 Dec 2010 14:24:29 +0000 (15:24 +0100)]
rtspsrc: improve RTP session handling
Store the RTP session in the stream so that we can more efficiently
perform actions on the stream based on RTP signals.
Wim Taymans [Thu, 23 Dec 2010 12:55:31 +0000 (13:55 +0100)]
rtpsource: include last send RB block
Only report RB values for non-internal sources.
Report not only the RB blocks we last received from but also the last RB
block we sent to a source.
Wim Taymans [Thu, 23 Dec 2010 12:52:57 +0000 (13:52 +0100)]
rtpsession: remember last sent RB values.
Wim Taymans [Thu, 23 Dec 2010 12:00:49 +0000 (13:00 +0100)]
rtpsource: include all stats and document
Include all possible stats of a source in the stats structure because we might
be interested in what happened in the past.
Document the stats property and the fields.
Wim Taymans [Thu, 23 Dec 2010 11:59:59 +0000 (12:59 +0100)]
examples: add example RTP stats
Add some more RTP examples for how to retrieve RTP stats in a receiver.
Wim Taymans [Thu, 23 Dec 2010 11:58:05 +0000 (12:58 +0100)]
rtpsession: also emit RTCP activity on SR
Also emit RTCP activity signals when we receive an SR packet without RB blocks,
such as from a sender that is not receiving anything.
Wim Taymans [Thu, 23 Dec 2010 10:10:55 +0000 (11:10 +0100)]
docs: add some more gstrtpbin docs
Edward Hervey [Wed, 22 Dec 2010 20:27:11 +0000 (21:27 +0100)]
ximagesrc: remote is a boolean (and not uint) property
Sebastian Dröge [Wed, 22 Dec 2010 18:58:21 +0000 (19:58 +0100)]
matroskademux: Don't use gst_pad_alloc_buffer()
Using this in a demuxer will cause deadlocks if there's
a pad with a pending pad-block downstream, no matter if
there is a queue between the pad or not. Queues pass
bufferalloc downstream from the same thread and only
act as a thread boundary for events and buffers.
Tim-Philipp Müller [Wed, 22 Dec 2010 14:14:08 +0000 (14:14 +0000)]
matroskamux: fix subtitle pad template, we only handle kate for now
Tim-Philipp Müller [Thu, 16 Dec 2010 11:44:44 +0000 (11:44 +0000)]
docs: update rtspsrc docs, rtpbin is not in -bad any more
Wim Taymans [Wed, 22 Dec 2010 10:42:31 +0000 (11:42 +0100)]
rtpsession: unlock before emitting signals
Wim Taymans [Tue, 21 Dec 2010 21:34:49 +0000 (22:34 +0100)]
rtpac3pay: add AC3 payloader
Wim Taymans [Tue, 21 Dec 2010 21:17:19 +0000 (22:17 +0100)]
ac3depay: fix debug category description
Wim Taymans [Tue, 21 Dec 2010 21:16:42 +0000 (22:16 +0100)]
mpapay: add debug category
Thiago Santos [Mon, 20 Dec 2010 17:49:02 +0000 (14:49 -0300)]
jpegenc: Adds another test case
Adds a test for jpegenc to check that is possible to negotiate and
push buffers with different resolution one after another.
https://bugzilla.gnome.org/show_bug.cgi?id=637686
Thiago Santos [Tue, 21 Dec 2010 16:37:40 +0000 (13:37 -0300)]
jpegenc: sink pad's getcaps shouldn't use the src pad getcaps
Instead of using get_allowed_caps on the srcpad, the sinkpad getcaps
should use the getcaps of the srcpad's peer. This way the srcpad
can keep using fixed_caps and sinkpad getcaps exposes all caps
that can be negotiated
https://bugzilla.gnome.org/show_bug.cgi?id=637686
Wim Taymans [Tue, 21 Dec 2010 15:58:47 +0000 (16:58 +0100)]
rtp: add RTP hint to the klass
Wim Taymans [Tue, 21 Dec 2010 15:49:28 +0000 (16:49 +0100)]
rtp: fix rank of payloaders and depayloaders
Set the payloaders and depayloaders to a reasonable rank.
Wim Taymans [Tue, 21 Dec 2010 14:24:18 +0000 (15:24 +0100)]
vrawdepay: reset depayloader state
Reset the depayloader state on flush-stop.
Wim Taymans [Tue, 21 Dec 2010 14:07:14 +0000 (15:07 +0100)]
mp4pay: use vmethod for intercepting events
Wim Taymans [Tue, 21 Dec 2010 12:55:40 +0000 (13:55 +0100)]
theorapay: clear packet on flush-stop
Wim Taymans [Tue, 21 Dec 2010 12:49:41 +0000 (13:49 +0100)]
vorbispay: clear packet on flush-stop
Wim Taymans [Tue, 21 Dec 2010 11:31:44 +0000 (12:31 +0100)]
mp4gdepay: reset depayloader state
Wim Taymans [Tue, 21 Dec 2010 11:29:58 +0000 (12:29 +0100)]
h264pay: flush adapter on flush-stop
Wim Taymans [Mon, 20 Dec 2010 17:49:49 +0000 (18:49 +0100)]
mpapay: flush last packets on EOS
Edward Hervey [Mon, 20 Dec 2010 16:47:05 +0000 (17:47 +0100)]
Automatic update of common submodule
From 169462a to 46445ad
Wim Taymans [Mon, 20 Dec 2010 15:51:47 +0000 (16:51 +0100)]
mpapay: reset payloader on state change
Wim Taymans [Mon, 20 Dec 2010 15:05:36 +0000 (16:05 +0100)]
mpapay: reset payloader on flush
Reset the payloader on a flush event.
Handle DISCONT better.
Wim Taymans [Mon, 20 Dec 2010 14:54:45 +0000 (15:54 +0100)]
jitterbuffer: get better buffering level
When the jitterbuffer contains -1 timestamps, make sure we still calculate the
buffer fill level by skipping the -1 buffers.
Try to be more resilient to weird input timestamps.
Wim Taymans [Mon, 20 Dec 2010 10:10:22 +0000 (11:10 +0100)]
jitterbuffer: provide a clock.
since we are using the clock for sync, we need to also provide a clock for good
measure. The reason is that even if downstream elements provide a clock, we
don't want to have that clock selected because it might not be running yet.
Wim Taymans [Mon, 20 Dec 2010 09:49:56 +0000 (10:49 +0100)]
rtpbin: copy buffering stats
when we create an aggregate buffering message, copy the buffering stats form the
last message. At least we get correct buffering mode then.
Sebastian Dröge [Sun, 19 Dec 2010 10:02:41 +0000 (11:02 +0100)]
wavenc: Fix memory leaks in the unit test
Sebastian Dröge [Sun, 19 Dec 2010 09:58:16 +0000 (10:58 +0100)]
radioactv: Prevent use of uninitialized values
Fixes bug #618652.
Sebastian Dröge [Sun, 19 Dec 2010 09:22:29 +0000 (10:22 +0100)]
capsdebug: Don't leak pad templates created from static pad templates
Vincent Penquerc'h [Mon, 29 Nov 2010 12:36:06 +0000 (12:36 +0000)]
ximagesrc: change from XGetImage to XGetSubImage dependant on a property
ximagesrc: change from XGetImage to XGetSubImage dependant on a property
to avoid unnecessary performance hits by default.
Vincent Penquerc'h [Sun, 28 Nov 2010 16:04:35 +0000 (16:04 +0000)]
ximagesrc: use XGetSubImage instead of XGetImage, works with remote X
ximagesrc: use XGetSubImage instead of XGetImage, works with remote X
(on my setup anyway...)
Vincent Penquerc'h [Sat, 27 Nov 2010 17:15:32 +0000 (17:15 +0000)]
ximagesrc: fix various width/height calculations being off by one,
ximagesrc: fix various width/height calculations being off by one,
and make it so a single pixel width/height can be captured (except
the top left one, as 0,0,0,0 is reserved for full screen as per
the property comments).
Rob Clark [Sat, 18 Dec 2010 01:19:35 +0000 (19:19 -0600)]
fix compile errors on macosx
with i686-apple-darwin10-gcc-4.2.1:
gstv4l2object.c: In function 'gst_v4l2_object_get_nearest_size':
gstv4l2object.c:1988: warning: format '%u' expects type 'unsigned int', but argument 12 has type 'gint *'
gstv4l2object.c:1988: warning: format '%u' expects type 'unsigned int', but argument 13 has type 'gint *'
Mark Nauwelaerts [Fri, 17 Dec 2010 14:38:15 +0000 (15:38 +0100)]
rtph264depay: determine output h264 layout using caps negotiation
... thereby (partially) deprecating properties currently controlling whether
or not byte-stream output or NAL/AU alignment (though properties still determine
fallback if nothing specified in caps).
Fixes #606662.
Wim Taymans [Thu, 16 Dec 2010 17:55:43 +0000 (18:55 +0100)]
j2kpay: handle EOC correctly
Don't include the next 2 bytes when we are at the end of the data and there are
no more bytes left.
Mark Nauwelaerts [Thu, 16 Dec 2010 14:15:49 +0000 (15:15 +0100)]
pulsesink: flush remaining buffered samples on EOS
... which can make a difference between all or nothing when dealing
with short streams and relatively large ringbuffer segment.
Sebastian Dröge [Thu, 16 Dec 2010 09:04:19 +0000 (10:04 +0100)]
deinterlace: Change classification to Filter/Effect/Video/Deinterlace
Edward Hervey [Wed, 15 Dec 2010 17:21:34 +0000 (18:21 +0100)]
rtpj2kpay: Initialize all fields
Makes sad compliers happy
Wim Taymans [Wed, 15 Dec 2010 15:22:54 +0000 (16:22 +0100)]
j2kpay: cleanup header construction
Use a simpler way of constructing the header that doesn't depend on
the endianness.
Tim-Philipp Müller [Wed, 15 Dec 2010 13:30:50 +0000 (13:30 +0000)]
configure: depend on -base from git for new rtp base depayloader features
This is ok in this case, since the plan is to release core/base again
along with good/ugly/bad in the next cycle.
Stefan Kost [Wed, 15 Dec 2010 12:55:58 +0000 (14:55 +0200)]
Automatic update of common submodule
From 20742ae to 169462a
Wim Taymans [Wed, 15 Dec 2010 12:12:09 +0000 (13:12 +0100)]
j2kdepay: add support for buffer lists
Wim Taymans [Tue, 14 Dec 2010 17:12:43 +0000 (18:12 +0100)]
session: fix average RTCP packet size some more.
Fix stupid error in averaging macro.
Include udp headers in packet length estimation.
Wim Taymans [Tue, 14 Dec 2010 16:15:23 +0000 (17:15 +0100)]
rtpbin: correctly calculate RTCP packet size
Wim Taymans [Tue, 14 Dec 2010 14:27:52 +0000 (15:27 +0100)]
j2kpay: stop scanning when we reached the end
Stop scanning for markers when we reached the end of the data.
Stefan Kost [Mon, 13 Dec 2010 14:23:24 +0000 (16:23 +0200)]
Automatic update of common submodule
From 011bcc8 to 20742ae
Wim Taymans [Mon, 13 Dec 2010 11:56:12 +0000 (12:56 +0100)]
jitterbuffer: avoid leaking sink events
Avoid leaking the newsegment event when it has the wrong format.
Wim Taymans [Sun, 12 Dec 2010 13:53:17 +0000 (14:53 +0100)]
mp4vpay: we can also accept xvid caps
Jan Schmidt [Sat, 11 Dec 2010 14:39:06 +0000 (01:39 +1100)]
deinterlace: Avoid infinite loop draining frames
When the pipeline is flushed just as we're draining history,
don't loop infinitely, just discard the history and abort.
Tim-Philipp Müller [Sat, 11 Dec 2010 17:39:20 +0000 (17:39 +0000)]
jpegdec: add "max-errors" property to ignore decoding errors
Add property to ignore decoding errors. Default is to ignore a few
decoding errors if the input is packetized, but error out immediately
if the input is not packetized.
Ignoring errors for packetized input most likely doesn't work
properly yet, so don't do that for now.
https://bugzilla.gnome.org/show_bug.cgi?id=623063
Tim-Philipp Müller [Fri, 28 May 2010 14:27:14 +0000 (15:27 +0100)]
jpegenc: free/malloc instead of realloc, avoids memcpy
Sebastian Dröge [Sat, 11 Dec 2010 16:49:03 +0000 (17:49 +0100)]
qtdemux: Check if there's actually a seek table before parsing it
Kishore Arepalli [Sat, 11 Dec 2010 16:46:17 +0000 (17:46 +0100)]
qtdemux: Implement CONVERT and FORMATS query
Fixes bug #636784.
Tim-Philipp Müller [Wed, 30 Jun 2010 23:22:07 +0000 (00:22 +0100)]
matroska-demux: put unrecognised RIFF format IDs into the unknown caps
Extra info can't hurt. Field names aren't necessarily consistent with
what's used elsewhere though (e.g. avidemux), but then neither are the
caps.
https://bugzilla.gnome.org/show_bug.cgi?id=623178
Jan Schmidt [Fri, 29 Oct 2010 21:50:14 +0000 (22:50 +0100)]
pulsemixer: Implement MIXER_FLAG_AUTO_NOTIFICATIONS
Add the mixer flag and send notifications when either the volume or muted
status changes.
https://bugzilla.gnome.org/show_bug.cgi?id=618389
Mark Nauwelaerts [Mon, 8 Feb 2010 20:41:29 +0000 (21:41 +0100)]
rtspsrc: mark DISCONT when resuming PLAY
In particular, when streaming interleaved, this arranges for setting a new
timestamp on outgoing buffer so downstream can appropriate reset
to a change in (rtp)time.
Mark Nauwelaerts [Thu, 2 Dec 2010 15:08:34 +0000 (16:08 +0100)]
rtspsrc: degrade gracefully upon failing seek and tweak QUERY_SEEKING response
Mark Nauwelaerts [Mon, 25 Oct 2010 09:51:06 +0000 (11:51 +0200)]
rtspsrc: add and use auto buffering mode
... which selects BUFFER for a non-live stream, and otherwise SLAVE.
Fixes #633088.
Wim Taymans [Mon, 6 Dec 2010 11:16:12 +0000 (12:16 +0100)]
j2kdepay: make the depayloader more resilient
Use 3 adapters, one to accumulate paketization units, another on to accumulate
tiles and a last one to accumulate the final frame.
Don't just blindly flush the adapter on DISCONT but only discard the current
packetization unit.
When we dropped jpeg2000 packets between SOP markers, adjust the SOT header with
the new lenght.
Mark Nauwelaerts [Thu, 9 Dec 2010 12:49:04 +0000 (13:49 +0100)]
qtdemux: fix flow return aggregation
Mark Nauwelaerts [Wed, 8 Dec 2010 10:35:33 +0000 (11:35 +0100)]
qtdemux: fix handling near end-of-file corner cases
Also, relax some error handling to not bail out completely when something
feels amiss, but consider this EOF and continue with was obtained so far.
Mark Nauwelaerts [Tue, 7 Dec 2010 16:19:00 +0000 (17:19 +0100)]
qtdemux: fragmented support; fix offset handling and relax error raising
In particular, accept unknown stream in track fragment, and only error out
if that raises problems later on with respect to offset tracking.
Fixes #620283.
Mark Nauwelaerts [Tue, 7 Dec 2010 12:11:48 +0000 (13:11 +0100)]
flvdemux: use aac codec-data to adjust samplerate if needed
Based on patch by Fabien Lebaillif-Delamare <fabien@arq-media.com>
Fixes #636621.
Wim Taymans [Tue, 7 Dec 2010 10:43:13 +0000 (11:43 +0100)]
pulsesink: don't uncork in _start
Don't uncork in the _start method just yet but wait until we have written some
samples to pulseaudio. This avoid underruns on pulseaudio and less crackling
noises when starting.
Alessandro Decina [Mon, 6 Dec 2010 18:59:49 +0000 (19:59 +0100)]
qtdemux: fix compiler warnings on OSX.