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.
Mark Nauwelaerts [Mon, 6 Dec 2010 17:17:24 +0000 (18:17 +0100)]
jpegdec: add debug to notify when skipping to jpeg header
Mark Nauwelaerts [Mon, 6 Dec 2010 17:16:19 +0000 (18:16 +0100)]
jpegdec: discard incomplete image
... as determined when finding SOI next image before an EOI.
Based on patch by David Hoyt <david.hoyt@llnl.gov>
Fixes #635734.
Mark Nauwelaerts [Mon, 6 Dec 2010 16:45:38 +0000 (17:45 +0100)]
jpegdec: avoid infinite loop when resyncing
Fixes #635734 (partly).
David Hoyt [Mon, 6 Dec 2010 14:21:53 +0000 (15:21 +0100)]
imagefreeze: pass along eos if received before buffer arrives
Fixes #636172.
Andoni Morales Alastruey [Wed, 20 Oct 2010 09:05:49 +0000 (11:05 +0200)]
matroskamux: try to write timestamps in all the outgoing buffers
Fixes #632654.
Mark Nauwelaerts [Mon, 6 Dec 2010 11:17:21 +0000 (12:17 +0100)]
progressreport: optionally determine progress using buffer metadata
Based on patch by Leo Singer <lsinger at caltech.edu>
Fixes #629418.
Edward Hervey [Sun, 5 Dec 2010 13:39:19 +0000 (14:39 +0100)]
check: Fixup the shutting down order
First bring down everything to NULL before attempting to unlink
or unref anything.
Avoids the tests just hanging there for ever waiting to acquire a
lock that doesn't exist anymore.
Janne Grunau [Thu, 4 Nov 2010 18:31:45 +0000 (19:31 +0100)]
v4l2src: set top field first for interlaced buffers if v4l2 exports it
https://bugzilla.gnome.org/show_bug.cgi?id=634393
Janne Grunau [Thu, 4 Nov 2010 17:36:09 +0000 (18:36 +0100)]
v4l2src: check field information and set interlaced caps accordingly
Reject the format if the field type is not supported.
https://bugzilla.gnome.org/show_bug.cgi?id=634391
Benjamin Gaignard [Fri, 3 Dec 2010 16:42:14 +0000 (17:42 +0100)]
Add build system for Android
Guillaume Emont [Fri, 26 Mar 2010 12:51:58 +0000 (13:51 +0100)]
navseek: add basic support to change playback rate
The following keys will now be interpreted by navseek:
'f' means fast forward: the stream gets played at rate 2.0
'r' means rewind: the stream gets played at rate -2.0
'n' means normal: the stream gets played at rate 1.0
Fixes #631516.
Mark Nauwelaerts [Wed, 1 Dec 2010 12:12:04 +0000 (13:12 +0100)]
qtdemux: add support for e(a)c-3 audio
Mark Nauwelaerts [Fri, 19 Nov 2010 11:44:35 +0000 (12:44 +0100)]
qtdemux: avoid sending EOS event twice
Mark Nauwelaerts [Fri, 19 Nov 2010 11:44:18 +0000 (12:44 +0100)]
qtdemux: remove dead code trying to update stream duration
On the one hand, it insufficiently checks whether it only updates a dummy
segment. On the other hand, only doing this at the time the last sampled is
prepared (and sent downstream) is too little too late.
Mark Nauwelaerts [Tue, 9 Nov 2010 09:58:57 +0000 (10:58 +0100)]
qtdemux: fragmented support; handle ismv sample flags
Mark Nauwelaerts [Mon, 8 Nov 2010 10:41:21 +0000 (11:41 +0100)]
qtdemux: fragmented support; handle ismv stbl atoms
... or lack of some thereof, such as mandatory stsz. Shuffle some code
in _stbl_init to detect this early enough.
Mark Nauwelaerts [Mon, 8 Nov 2010 10:39:37 +0000 (11:39 +0100)]
qtdemux: fragmented support; compensate for ismv offset handling
... or lack thereof, which according to specs would put media data in
unlikely position.
Mark Nauwelaerts [Thu, 4 Nov 2010 13:07:56 +0000 (14:07 +0100)]
qtdemux: fragmented support for push mode
Mark Nauwelaerts [Thu, 4 Nov 2010 09:17:37 +0000 (10:17 +0100)]
qtdemux: fragmented support; proper and incremental moof parsing
That is, parse each moof in one pass (considering all contained streams'
metadata), and do so incrementally as needed for playback rather than
an initial complete scan of all moof (though all moov sample metadata
is fully parsed at startup).
Mark Nauwelaerts [Thu, 4 Nov 2010 09:06:30 +0000 (10:06 +0100)]
qtdemux: refactor stream freeing
Mark Nauwelaerts [Thu, 4 Nov 2010 09:05:15 +0000 (10:05 +0100)]
qtdemux: delegate linear search for sample to binary search when possible
Also arrange for parsing a sample prior to taking a reference to it,
which requires less memory layout assumptions for correctness.
Mark Nauwelaerts [Mon, 1 Nov 2010 14:52:29 +0000 (15:52 +0100)]
qtdemux: fragmented support; handle moov samples and proper stream duration
Mark Nauwelaerts [Mon, 1 Nov 2010 12:40:05 +0000 (13:40 +0100)]
qtdemux: fragmented support; consider mvex and handle flags and offset fields
Mark Nauwelaerts [Thu, 28 Oct 2010 14:49:41 +0000 (16:49 +0200)]
qtdemux: fragmented support; forego check for short streams
... as some bogus files may indicate streams of 0 duration in moov,
while indicating the complete movie duration in mvhd (the latter should
be in mehd).
Mark Nauwelaerts [Thu, 28 Oct 2010 14:46:48 +0000 (16:46 +0200)]
qtdemux: fragmented support; code cleanups and optimizations in atom parsing
Avoid extra allocation in _parse_trun, add more checks for parsing errors,
add or adjust some debug statement, fix comments, sprinkle some branch
prediction.
Thiago Santos [Tue, 14 Sep 2010 02:19:44 +0000 (23:19 -0300)]
qtdemux: parse_moof should return TRUE on success
Thiago Santos [Sat, 11 Sep 2010 01:41:03 +0000 (22:41 -0300)]
qtdemux: Fix iteration bug
Avoid infinite loop when iterating traf
Thiago Santos [Sat, 11 Sep 2010 00:32:26 +0000 (21:32 -0300)]
qtdemux: Refactor trun parsing
The allocation of the samples can be placed out of the loop.
Makes the code clearer.
Also avoid relying on traf information as it is placed on the
end of the file and might not be acessible on push mode.