Commit graph

5377 commits

Author SHA1 Message Date
Vincent Penquerc'h
3319737e5c udpsrc: error out when no protocol is specified in the uri
It is certainly better than to crash.

https://bugzilla.gnome.org/show_bug.cgi?id=658178
2011-09-19 10:16:38 +02:00
Branko Subasic
11b0a0effc matroskademux: Avoid sending EOS when in paused state
Changed the ebml reader's gst_ebml_peek_id_length() function so
that it returns the actual reason for why the peek failed, instead
of (almost) always returning GST_FLOW_UNEXPECTED. This prevents
the pulling task from sending EOS when doing a flushing seek.
2011-09-16 15:18:48 +02:00
Vincent Penquerc'h
26ae233035 matroskademux: fix stuttering A/V
Someone got had by implicit promotion to unsigned in ops with
a signed and an unsigned value.

https://bugzilla.gnome.org/show_bug.cgi?id=659153
2011-09-15 17:29:00 +01:00
Vincent Penquerc'h
352bab2ef7 navseek: toggle pause/play on space bar
A useful thing to have.

https://bugzilla.gnome.org/show_bug.cgi?id=659065
2011-09-14 21:32:42 +01:00
David Svensson Fors
682ae32f6f matroskademux: configurable timestamp gap handling
matroskademux performs segment tricks to skip gaps in streams,
notably at start for non 0 based files.  There may however be
cases when full presentation (including intermediate gaps) is
desired, so a property allows to configure as of which gap
to act (or not at all).

API: GstMatroskaDemux::max-gap-time

Fixes #659009.
2011-09-14 14:49:36 +02:00
Thiago Santos
261d11a6d7 qtmux: Fix ctts generation for streams that don't start at 0 timestamps
Subtract the first timestamp of a stream from all input buffers to
get 0-based timestamps for creating a sane ctts table. Without this
patch the ctts could have larger values than needed, causing the
playback to have a delay at startup.

As the first timestamp is only found after a few buffers are queued
(due to possible reordered buffers), once we find the first timestamp
we subtract it from all buffers on the queue, from that point on,
all buffers have their timestamps subtract when they are collected.

https://bugzilla.gnome.org/show_bug.cgi?id=658659
2011-09-12 07:37:10 -03:00
Alessandro Decina
aea09188dc flvmux: don't release request pads going PAUSED->READY
Don't release request pads but just reset them. This makes pipelines using
flvmux reusable.
2011-09-12 10:00:59 +02:00
Vincent Penquerc'h
d17d13219c ac3parse: use bsid 9 and 10 to control sample rate
See http://matroska.org/technical/specs/codecid/index.html

The spec is silent about this though...

https://bugzilla.gnome.org/show_bug.cgi?id=658546
2011-09-09 13:59:31 +02:00
Mark Nauwelaerts
95b5ece2c9 rtspsrc: ensure some initial state variable setup
... which might otherwise be skipped if the PLAY command is issued before
the OPEN command had a chance to actually be acted upon.

Fixes #657376.
2011-09-09 10:53:08 +02:00
Mark Nauwelaerts
ef1ad78eee matroskademux: tweak gap handling
... so as to avoid buffers before and after gap to have identical running time.
2011-09-08 15:10:43 +02:00
Thiago Santos
ed3adece77 qtmux: remove one G_UNLIKELY for user property
Using G_UNLIKELY on user properties isn't nice, specially when
that is the default option.
2011-09-07 11:46:07 -03:00
Andoni Morales Alastruey
782fc78d57 matroskamux: handle GstForceKeyUnit event
... by starting a new cluster after forwarding event.

Fixes #644154.
2011-09-07 14:51:56 +02:00
Sebastian Dröge
c29069fd11 ac3parse: Add Converter to the classification because it can convert between different alignments
This allows decodebin2 to let it negotiate properly.
2011-09-07 12:11:39 +02:00
Sebastian Dröge
786d35f53f audioparsers: Improve src template caps
Remove the parsed/framed fields and add all fields to the template
caps that always exist.
2011-09-07 12:10:48 +02:00
Mark Nauwelaerts
625e7a6143 aacparse: parse codec_data to determine number of samples per frame
Fixes #656734.
2011-09-07 11:20:03 +02:00
Wim Taymans
83ea243000 Merge branch 'master' into 0.11
Conflicts:
	common
2011-09-06 16:37:03 +02:00
Wim Taymans
33f18b8ea4 Merge branch 'master' into 0.11
Conflicts:
	gst/audioparsers/gstamrparse.c
	gst/isomp4/qtdemux.c
2011-09-06 16:06:25 +02:00
Mark Nauwelaerts
aa0ae490d0 matroskamux: make default duration check less sensitive
Frame duration might vary for 1 usecond, in this case matroskamux
decides to create BLOCKGROUP instead of SIMPLEBLOCK.

Convert duration to timecodescale which is (typically) less precise, and
then also allow the difference of 1/-1 to arrange for less sensitive check.

Based on patch by Alexey Fisher <bug-track@fisher-privat.net>

Fixes #653080.
2011-09-06 15:09:13 +02:00
Mark Nauwelaerts
06f8e356a6 rtpmp4gdepay: improve bogus interleaved index compensating
Patch by <gudake@gmail.com>

Fixes #654585.
2011-09-06 13:20:23 +02:00
Wim Taymans
e204c5934c -good: port to new audio caps 2011-09-06 13:16:27 +02:00
Mark Nauwelaerts
b9a54a38b0 amrparse: fix and streamline valid frame checking
... to handle various combinations of sync or not, and sufficient data
or not as might be expected.

Fixes #650714.
2011-09-05 15:51:48 +02:00
Mark Nauwelaerts
4b8ead4340 qtdemux: fragmented support; avoid adjustment for keyframe seek
... since all index data may not yet be available at that time.
2011-09-05 14:56:18 +02:00
Mark Nauwelaerts
08d25a69d5 qtdemux: fragmented support; mark all audio track samples as keyframe 2011-09-05 14:56:18 +02:00
Brian Li
a3e9b676c0 qtdemux: fragmented support; properly init return variable value
Fixes #655918.
2011-09-05 14:56:08 +02:00
Mark Nauwelaerts
2603c2079d rtspsrc: add gtk-doc for new short-header property 2011-09-05 13:32:17 +02:00
Marc Leeman
ce276d903c rtspsrc: allow sending short RTSP requests to a server
Some encoders (Arecont) do not like the long OPTIONS sent at startup as sent by
GStreamer, but do accept the short header as sent by Live555.

This patch makes the extending the request optional by adding a property
(short-header).

Fixes #655805.

API: GstRTSPSrc:short-header
2011-09-05 13:26:06 +02:00
Olivier Crête
d4778dbe43 rtph263ppay: Set H263-2000 if thats what the other side wants
The static caps states this element supports H263-2000, but setcaps never
sets it, so it was lie.

See https://bugzilla.gnome.org/show_bug.cgi?id=577784
2011-09-05 12:58:55 +02:00
Olivier Crête
b2e8362767 rtpsession: Initialise the last_keyframe_request variable 2011-09-02 19:24:46 -04:00
Peter Korsgaard
d73410c4af multiudpsink: make add/remove/clear/get-stats action signals
http://bugzilla.gnome.org/show_bug.cgi?id=657830

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-01 22:54:27 +01:00
Wim Taymans
24df106272 mp2t: fix encoding name according to RFC3551 2011-08-31 18:45:15 +02:00
Mark Nauwelaerts
e15d29ffe4 qtdemux: push mode; perform some extra checks prior to upstream seeking 2011-08-30 14:24:04 +02:00
Mark Nauwelaerts
9de9d7e4d4 qtdemux: push mode; fix buffered streaming
That is, in case where no seek is peformed to moov, but preceding
limited mdat is buffered.
2011-08-30 14:23:49 +02:00
Wim Taymans
9521326703 shapewipe: port to 0.11 2011-08-30 14:06:12 +02:00
Wim Taymans
ef560b86e2 law: port to 0.11 2011-08-30 12:25:35 +02:00
Wim Taymans
5ad41c7292 alaw: port to 0.11 2011-08-29 19:11:25 +02:00
Wim Taymans
e62d326dc2 goom: fix comment 2011-08-29 19:10:35 +02:00
Mark Nauwelaerts
5ea19b0696 qtdemux: avoid overflow wraparound in timestamp when adding durations
Do some type juggling to avoid overflow, while still allowing for 'negative'
durations (which would need a wraparound effect).
2011-08-29 15:16:16 +02:00
Wim Taymans
75e153bb13 allocation: fix for vmethod changes 2011-08-26 14:20:49 +02:00
Wim Taymans
18065ac823 port to new video flags 2011-08-25 16:41:23 +02:00
Wim Taymans
e9df54819c Merge branch 'master' into 0.11 2011-08-24 14:16:44 +02:00
Vincent Penquerc'h
f3fc3e1f69 aacparse: only require two frames in a row when we do not have sync
This avoids a single bit error dropping two frames unnecessarily.
The two consecutive frames check is still required when we don't
have sync.

https://bugzilla.gnome.org/show_bug.cgi?id=657080
2011-08-24 08:26:31 +02:00
Wim Taymans
60f0e44bf6 video: port to new colorimetry info 2011-08-23 19:09:31 +02:00
Wim Taymans
d6908f1a2d Merge branch 'master' into 0.11 2011-08-22 13:10:07 +02:00
Wim Taymans
9d6371405e fourcc: remove fourcc from caps 2011-08-22 12:24:15 +02:00
David Schleef
88557c4792 breakmydata: element is not passthrough 2011-08-21 15:15:14 -07:00
David Schleef
2a83da13fc multifilesrc: quiet debugging 2011-08-21 15:15:14 -07:00
David Schleef
0446787e65 deinterlace: change field handling through methods
This likely breaks stuff.  The good: all of the methods now create
field images aligned with input frames, without timestamp mangling.
The bad: this touches a lot of code, much of which is hairy and in
need of cleanup.  However, at this point we can reasonably create a
PSNR-based test.
2011-08-21 15:15:14 -07:00
Alessandro Decina
ad996feb28 multifilesink: reset ->streamheaders to NULL on _stop
Fixes invalid memory access reusing multifilesink
2011-08-21 14:41:59 +02:00
Wim Taymans
5e3a52f1d9 cutter: bring cutter somewhat into this millennium 2011-08-20 10:46:18 +02:00
Wim Taymans
c1abdd7626 rg: fix caps 2011-08-19 16:27:20 +02:00
Wim Taymans
445bf71bd1 port to more audio api changes 2011-08-19 16:09:48 +02:00
Wim Taymans
77ad0a1363 port more elements to new audio caps and API 2011-08-19 14:01:45 +02:00
Wim Taymans
90f5b31b4b port to new audio API and caps 2011-08-19 11:49:44 +02:00
Wim Taymans
135b41cb5b Merge branch 'master' into 0.11 2011-08-18 19:37:39 +02:00
Wim Taymans
09b15d7dfe port to new audio caps. 2011-08-18 19:21:07 +02:00
Vincent Penquerc'h
e032d26674 matroskademux: ensure no-more-pads is always emitted
In particular, do so even if failing to read while prerolling,
such as when reading from a partial file (eg, while it is being
downloaded).

This fixes a wedge in playbin2.

https://bugzilla.gnome.org/show_bug.cgi?id=651965
2011-08-18 11:30:07 +02:00
Wim Taymans
48e47ad702 Merge branch 'master' into 0.11 2011-08-17 11:17:38 +02:00
Vincent Penquerc'h
f8a9f5bc1c spectrum: avoid crashing by resetting the correct number of channels
https://bugzilla.gnome.org/show_bug.cgi?id=656606
2011-08-16 22:44:07 +01:00
Wim Taymans
4bb2b140e9 Merge branch 'master' into 0.11
Conflicts:
	sys/v4l2/v4l2src_calls.c
2011-08-16 18:35:53 +02:00
Vincent Penquerc'h
6ac7ad8a2c flacparse: fix off by one in frame size check
Yes, I was tracking another bug and the small test file I generated
to test with improbably just happened to trigger this, with a second
and last frame of 1615 bytes.

https://bugzilla.gnome.org/show_bug.cgi?id=656649
2011-08-16 13:25:30 +01:00
Tim-Philipp Müller
5866c3a413 id3demux: remove specs from git as well now that parsing code is in -base 2011-08-14 20:46:01 +01:00
Mark Nauwelaerts
1ca89389e4 id3demux: use -base provided id3 tag parsing
https://bugzilla.gnome.org/show_bug.cgi?id=654388
2011-08-13 23:19:32 +01:00
Stefan Kost
a1b1d19105 qtdemux: initialize bitrate variable and reset for each loop
Don't check eventually unset variable and don't accidentially use values from last
cycle.
2011-08-12 16:32:58 +02:00
Edward Hervey
d08e0ccc48 rtspsrc: Properly error out if SDP contains no streams
Also fixes unitialized variable error on macosx.
2011-08-09 11:28:17 +02:00
Wim Taymans
5fa0c28bc4 isomp4: fixup after small api changes
Port to recently changed api so that it compiles again.
2011-08-05 12:07:50 +02:00
Edward Hervey
eb8075111d y4menc: Now depends on libgstvideo 2011-08-05 11:32:45 +02:00
Wim Taymans
84371e4066 goom: port to new caps 2011-08-04 16:32:39 +02:00
Wim Taymans
ee2aa25e04 port to new API 2011-08-03 18:37:27 +02:00
Wim Taymans
4121021bb2 Merge branch 'master' into 0.11
Conflicts:
	ext/pulse/pulsesink.c
	ext/pulse/pulsesrc.c
	gst/audioparsers/gstac3parse.c
	gst/rtp/gstrtph264depay.c
	gst/rtp/gstrtph264pay.c
	gst/rtpmanager/gstrtpssrcdemux.c
2011-08-03 18:25:30 +02:00
Jan Schmidt
1438bf26ac matroska: Register new debug category
Register the matroskareadcommon debug category when the
plugin is loaded to avoid assertion output when debug is turned on.
2011-08-03 22:52:07 +10:00
Philippe Normand
0424368cfc qtdemux: soften assertion check on stream size
https://bugzilla.gnome.org/show_bug.cgi?id=655570
2011-08-03 10:11:59 +02:00
Robert Krakora
f7893b8721 rtpjpegpay: Add support for H.264 payload in MJPEG container
See http://www.quickcamteam.net/uvc-h264/USB_Video_Payload_H.264_0.87.pdf

Fixes bug #655530.
2011-08-03 10:09:42 +02:00
Sebastian Dröge
4aa5485cfc effectv: Fix unused but set variable compiler warnings 2011-08-03 08:51:19 +02:00
Tim-Philipp Müller
a1712ad87c docs: fix two more Since: tags 2011-08-02 23:42:58 +01:00
Mart Raudsepp
62cd1215c7 deinterlace: Fix Since tags for fieldanalysis related new properties
commit c1b100cf9c is after 0.10.29 and 0.10.30 was a branched release.
So fix Since tags from 0.10.29 to 0.10.31 for the new properties.
2011-08-02 23:38:13 +01:00
Wim Taymans
5771056ed5 rtpvorbispay: fix porting error 2011-08-02 11:51:45 +02:00
Wim Taymans
49af68ebf4 -good: fix for bufferpool API change 2011-07-29 17:27:07 +02:00
Mark Nauwelaerts
c03648c8bb rtpsession: properly init rtcp_min_interval 2011-07-29 12:08:42 +02:00
Mark Nauwelaerts
3a98f6f0fd rtpssrcdemux: keep a ref on the src pad while using it
Prevent a possible race if clear_ssrc() is called between getting the pad and
doing the push.

Based on patch by <olivier.crete@collabora.com>

https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:51:01 +02:00
Olivier Crête
c7b9b98648 rtpssrcdemux: Make the pads lock recursive and hold it across the signal emit
We need to keep the lock held because we don't want a push before the "new-ssrc-pad"
handler has completed. But we may want to push an event from inside that handler, hence
the recursive mutex.

https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:50:59 +02:00
Olivier Crête
e26b5391c2 rtpssrcdemux: Use PADs lock
https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:50:57 +02:00
Tim-Philipp Müller
b843f8f99c gst: udpate for position/duration/convert query API changes 2011-07-28 11:38:31 +01:00
Tim-Philipp Müller
f94ea7299a avidemux: fix compiler warning
gstavidemux.c: In function 'gst_avi_demux_parse_stream':
gstavidemux.c:1261:24: error: 'data' may be used uninitialized in this function [-Werror=uninitialized]
gstavidemux.c:1204:11: note: 'data' was declared here
2011-07-28 11:38:31 +01:00
Sjoerd Simons
4c73439ee3 rtph264depay: Cope with FU-A E bit not being set
Some h264 payloaders are unfortunately buggy and don't correctly set the
E bit in FU-A NAL when they have ended. Work around this by assuming
such a fragmentation unit has ended when there was no packet loss and a
new NAL is started
2011-07-27 18:18:13 +01:00
Arun Raghavan
89564fcb69 ac3parse: Support switching alignment on-the-fly
This allows switching of alignment for E-AC3 streams at run-time. This
is requested by downstream elements via a custom event.

https://bugzilla.gnome.org/show_bug.cgi?id=650313
2011-07-27 20:43:56 +05:30
Wim Taymans
13d0ad188f warp: add stride support 2011-07-27 12:42:21 +01:00
Wim Taymans
3e089bd7a9 rtp: fix compilation 2011-07-26 17:45:01 +02:00
Arun Raghavan
96972eb462 ac3parse: Add support for IEC 61937 alignment
When pushing out buffers over S/PDIF or HDMI, IEC 61937 payloading
requires each buffer to contain 6 blocks from each substream. This adds
code to collect all the frames needed to meet this requirement before
pushing out a buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=650313
2011-07-26 10:40:00 +05:30
Olivier Crête
6095d2a3f0 rtpsession: Always send application requested feedback in immediate mode
Send as many application requested feedback messages in immediate mode, even if they
have already been sent.

https://bugzilla.gnome.org/show_bug.cgi?id=654583
2011-07-25 17:20:59 +02:00
Olivier Crête
354faabda0 rtpsession: Don't let the computed RTP bandwidth fall too low
If it falls too low, the computed RTCP bandwidth will be near zero and
the RTCP thread will be stopped.

https://bugzilla.gnome.org/show_bug.cgi?id=654583
2011-07-25 16:19:00 +02:00
Olivier Crête
4d48109f9d rtpsession: Wait longer to timeout SSRC collision
Using the current RTCP interval to timeout SSRC collision can lead to
collisions being timed out immediately if a BYE packet is sent because
it is sent immediately, so the interval is 0. This is not what we
want. So just set a static 10 times the default RTCP interval, it
should be enough

https://bugzilla.gnome.org/show_bug.cgi?id=648642
2011-07-25 16:18:58 +02:00
Mark Nauwelaerts
9764b57b0a rtspsrc: set SOURCE flag at init time
Fixes #654816.
2011-07-25 12:44:38 +02:00
Wim Taymans
7ca40d7a53 vertigotv: add stride support 2011-07-25 10:24:33 +01:00
Wim Taymans
83bc5e0765 replay: fix for event handler 2011-07-22 21:26:32 +02:00
Wim Taymans
984a0b54eb fixes for event handler changes 2011-07-22 21:19:45 +02:00
Olivier Crête
2591a882ae rtph264depay: Complete merged AU on marker bit
The marker bit on a RTP packet means the AU has been completed, so push it out
immediately to reduce the latency.

https://bugzilla.gnome.org/show_bug.cgi?id=654850
2011-07-21 17:11:08 +02:00
Olivier Crête
118a7cc36a rtph264pay: Only set the marker bit on the last NALU of a multi-NALU access unit
An access unit could contain multiple NAL units, in that case, only the last
RTP packet of the last NALU should have its marker bit set.

https://bugzilla.gnome.org/show_bug.cgi?id=654850
2011-07-21 17:11:06 +02:00
Alessandro Decina
216dc602c3 multipart: fix compiler warning 2011-07-20 08:53:25 +02:00
Mark Nauwelaerts
1880c4145e auparse: avoid hanging on invalid short input
... as in such case there is no srcpad yet on which to forward EOS.
2011-07-19 12:05:51 +02:00
Mark Nauwelaerts
471904032d rtph264depay: reset upon FLUSH_STOP
... which is particularly needed when merging NAL units, where not resetting
would lead to output of an older (pre-flush) AU (with unintended timestamp).
2011-07-18 14:32:26 +02:00