Peter Kjellerstedt [Tue, 1 Sep 2009 10:47:51 +0000 (12:47 +0200)]
rtpmanager: Make sure that used caps are not freed already (take 2)
This reintroduces the fix for bug #593391. It also applies it in
gst_rtp_session_sync_rtcp() which has very similar code to
gst_rtp_session_send_rtcp().
Wim Taymans [Tue, 1 Sep 2009 10:41:36 +0000 (12:41 +0200)]
jitterbuffer: make sure time does not go backwards
When we construct a timestamp that would result in a timestamp that is earlier
than when the packet was received, reset the skew calculation as this is
probably a sign that the sender restarted or paused.
Fixes #593354
Peter Kjellerstedt [Tue, 1 Sep 2009 09:32:41 +0000 (11:32 +0200)]
rtpmanager: Set caps in gst_rtp_session_send_rtcp() correctly again
The test for when to set an RTCP caps on the output pad in
gst_rtp_session_send_rtcp() accidentally got inverted in the last commit.
Sebastian Dröge [Tue, 1 Sep 2009 08:26:46 +0000 (10:26 +0200)]
qtdemux: Add support for QCELP audio
Fixes bug #593757.
Peter Kjellerstedt [Mon, 31 Aug 2009 16:10:11 +0000 (18:10 +0200)]
effectv: Fix compilation with gcc 3
Recent changes in gst-plugins-good/gst/effectv prevents it from being compiled
with gcc 3. The problem is that the new code uses preprocessor conditionals
within a macro call which does not work with older versions of gcc.
Fixes bug #593688.
Tim-Philipp Müller [Mon, 31 Aug 2009 15:20:59 +0000 (16:20 +0100)]
docs: small clean-ups in -sections.txt
Remove duplicate entry for warptv; there is no taglibmux element.
Mark Nauwelaerts [Thu, 27 Aug 2009 13:46:52 +0000 (15:46 +0200)]
rtpmp4gdepay: consider (optional) auxiliary data when parsing
Mark Nauwelaerts [Thu, 27 Aug 2009 13:46:15 +0000 (15:46 +0200)]
rtpmp4gdepay: handle broken AU-Index in non-interleaved streams
In case of non-interleaved (= sequentially payloaded) streams,
the AU-Index serves little purpose (that is not already covered by
RTP fields). (Broken) Payloaders might consider this field then
to be disregarded and have non spec compliant values, e.g. each
RTP packet having AU-Index 2 (rather than 0). As such, ensure/force
simple sequential sending of non-interleaved streams.
Mark Nauwelaerts [Tue, 18 Aug 2009 15:17:28 +0000 (17:17 +0200)]
qtdemux: also extract ftyp info in push mode
Mark Nauwelaerts [Thu, 13 Aug 2009 14:11:59 +0000 (16:11 +0200)]
qtdemux: consider 3gpp style tag parsing in some more cases
3GPP specs define a number of tags along with precise layout. While these
are normally expected to be found in a container whose major brand is a
3GPP brand, this may also happen when a 3GPP brand is only mentioned as a
compatible brand. Apply some checks, heuristic and fallbacks to extract
such tags as well.
Mark Nauwelaerts [Tue, 11 Aug 2009 11:56:43 +0000 (13:56 +0200)]
wavparse: reflow exit, and fix some leaks
Mark Nauwelaerts [Tue, 11 Aug 2009 11:54:56 +0000 (13:54 +0200)]
wavparse: push mode; add pad if needed so downstream gets EOS
Mark Nauwelaerts [Mon, 10 Aug 2009 14:19:03 +0000 (16:19 +0200)]
wavparse: push mode; fix/improve chunk handling
Handle large, invalid or otherwise unusual chunk sizes.
Verify some chunk sizes to be at least the size they are
expected to be and round up some sizes to even number for
e.g. offset administration, which must also be properly
tracked in push mode.
Mark Nauwelaerts [Sat, 8 Aug 2009 19:54:00 +0000 (21:54 +0200)]
avidemux: push mode; cater for unusual chunk sizes
Wim Taymans [Mon, 31 Aug 2009 14:34:14 +0000 (16:34 +0200)]
rtpsession: use proper locking for pads and caps
Use the sesion lock and shotdown variable to protect and ref the pads we are
going to push on.
fixes #561825
Wim Taymans [Mon, 31 Aug 2009 14:33:26 +0000 (16:33 +0200)]
rtpbin: whitespace fixes
Tim-Philipp Müller [Mon, 31 Aug 2009 12:38:08 +0000 (13:38 +0100)]
wavparse: clean up adapter properly
Reflow code so we don't try to clear or re-use an already-freed adapter.
Tim-Philipp Müller [Mon, 31 Aug 2009 12:07:53 +0000 (13:07 +0100)]
flactag, wavparse: GstAdapter is not a GstObject
Tim-Philipp Müller [Mon, 31 Aug 2009 11:28:52 +0000 (12:28 +0100)]
docs: update plugin docs to git version
Jan Schmidt [Mon, 31 Aug 2009 10:32:39 +0000 (11:32 +0100)]
flvdemux: Fix tests warning from setting a NULL index
Setting a null index in the tests was causing warnings by unreffing
NULL pointers. This is a bug exposed by a recent change in core, it
seems.
Wim Taymans [Mon, 31 Aug 2009 11:02:16 +0000 (13:02 +0200)]
jitterbuffer: add slope estimation code and debug
Add some code to measure the sender speed vs the receiver speed. This can be
used to detect bursts.
Wim Taymans [Mon, 31 Aug 2009 10:57:32 +0000 (12:57 +0200)]
jitterbuffer: reset skew when timestamps change
Refactor the jitterbuffer resync code.
Reset the skew correction when we detect a big timestamp discont.
See #593354
Wim Taymans [Mon, 31 Aug 2009 10:47:15 +0000 (12:47 +0200)]
jitterbuffer: make sure time never goes invalid
Since the skew can be negative, we might end up with invalid timestamps. Check
for negative results and clamp to 0.
See #593354
Jarkko Palviainen [Mon, 31 Aug 2009 10:16:01 +0000 (12:16 +0200)]
udpsink: Add ttl multicast property
Add a new ttl-mc property to control the TTL on multicast addresses.
Fixes #588245
Jarkko Palviainen [Mon, 31 Aug 2009 10:13:07 +0000 (12:13 +0200)]
udp: split out TTL and loop options
Split setting the TTL and loop parameters in 2 methods as they are not related.
Fix setting the TTL correctly for multicast streams.
See #588245
Wim Taymans [Thu, 27 Aug 2009 10:36:37 +0000 (12:36 +0200)]
rtp: whitespace fixes
Sebastian Dröge [Fri, 14 Aug 2009 11:45:22 +0000 (13:45 +0200)]
videobox: Correctly add to the docs
Sebastian Dröge [Fri, 14 Aug 2009 11:40:21 +0000 (13:40 +0200)]
videobox: Split declarations into a header file and add autocrop stuff to the docs
Sebastian Dröge [Fri, 14 Aug 2009 11:26:36 +0000 (13:26 +0200)]
videobox: Reconfigure basetransform if something changes again
For this invent a new lock and don't abuse the basetransform lock,
otherwise we'll end up in deadlocks.
Stephen Jungels [Fri, 14 Aug 2009 11:15:57 +0000 (13:15 +0200)]
videobox: Add support for autocropping according to the caps
Fixes bug #582238.
Sebastian Dröge [Sun, 30 Aug 2009 19:57:57 +0000 (21:57 +0200)]
rtpsession: Make sure that used caps are not freed already
Fixes bug #593391.
Sebastian Dröge [Wed, 26 Aug 2009 15:02:45 +0000 (17:02 +0200)]
rtp: Use new gst_iterator_new_single() for the internal linked pads iteration
Sebastian Dröge [Wed, 19 Aug 2009 14:57:05 +0000 (16:57 +0200)]
rtpsession: Use iterate internal links instead of deprecated get internal links
Sebastian Dröge [Wed, 19 Aug 2009 14:48:25 +0000 (16:48 +0200)]
jitterbuffer: Use iterate internal links instead of deprecated get internal links
Sebastian Dröge [Wed, 19 Aug 2009 14:37:11 +0000 (16:37 +0200)]
rtpssrcdemux: Use iterate internal links instead of deprecated get internal links
Tim-Philipp Müller [Sun, 30 Aug 2009 22:27:09 +0000 (23:27 +0100)]
Update common
Tim-Philipp Müller [Sun, 30 Aug 2009 22:26:48 +0000 (23:26 +0100)]
Back to hacking -> 0.10.16.1
Tim-Philipp Müller [Sat, 29 Aug 2009 11:05:40 +0000 (12:05 +0100)]
Release 0.10.16
Tim-Philipp Müller [Tue, 25 Aug 2009 23:58:45 +0000 (00:58 +0100)]
0.10.15.5 pre-release
Wim Taymans [Tue, 25 Aug 2009 14:53:29 +0000 (16:53 +0200)]
pulsesink: don't use relative seeks
Don't use relative seeks, it's too hard to track where we are after a flush
etc.
fixes #593015
Tim-Philipp Müller [Mon, 24 Aug 2009 16:50:29 +0000 (17:50 +0100)]
0.10.15.4 pre-release
Wim Taymans [Mon, 24 Aug 2009 14:22:47 +0000 (16:22 +0200)]
pulsesrc: don't discard the result of _set_caps()
Use the result of gst_pad_set_caps() instead of assuming success.
See #590678
Wim Taymans [Fri, 21 Aug 2009 09:44:43 +0000 (11:44 +0200)]
qtdemux: add support for agsm
Fixes #592530
Mark Nauwelaerts [Tue, 18 Aug 2009 15:16:11 +0000 (17:16 +0200)]
qtdemux: fix qt style string tag extraction
QT style tags are tested on starting with (C) symbol using >>,
and (unsigned) int (may) have different >> behaviour.
Fixes #592232.
Tim-Philipp Müller [Mon, 17 Aug 2009 14:48:20 +0000 (15:48 +0100)]
smokeenc: don't crash when compiled against libjpeg7
Set parameters so that we don't crash with libjpeg7. Based on
Stefan Kost's fix for jpegenc. Fixes #591951.
Tim-Philipp Müller [Fri, 14 Aug 2009 19:18:04 +0000 (20:18 +0100)]
0.10.15.3 pre-release
Tim-Philipp Müller [Fri, 14 Aug 2009 12:45:08 +0000 (13:45 +0100)]
checks: add test for leak to rtpbin unit test
See #591476.
Olivier Crête [Tue, 11 Aug 2009 18:47:12 +0000 (14:47 -0400)]
rtpbin: Fix reference leak
Fixes #591476.
Zaheer Merali [Fri, 14 Aug 2009 12:34:53 +0000 (13:34 +0100)]
dvdec: set bottom field first on PAL interlaced content, not top field first
DV interlaced content is always bottom field first. Fixes #591712.
Hans de Goede [Fri, 14 Aug 2009 11:44:06 +0000 (12:44 +0100)]
v4l2src: fix 'hang' with some cameras caused by bad timestamping if no framerate is available
For cameras/drivers that don't support e.g. VIDIOC_G_PARM we'd end up without
a framerate and would try to divide by 0, causing run-time warnings and all
frames to be timestamped with 0, which makes sinks that sync against the clock
drop them, causing 'hangs' (observed with the pwc driver and a Logitech QuickCam
Pro 4000). So if we do not know the framerate, simply don't adjust the
timestamps. Fixes #591451.
Filippo Argiolas [Fri, 14 Aug 2009 08:11:25 +0000 (10:11 +0200)]
v4l2src: clear format list in READY->NULL
Clear format list and probed caps when going to NULL so if a new device
is set we'll probe the formats again instead of using previously
detected ones. Fixes bug #591747.
Tim-Philipp Müller [Tue, 11 Aug 2009 16:30:41 +0000 (17:30 +0100)]
0.10.15.2 pre-release
Tim-Philipp Müller [Tue, 11 Aug 2009 14:25:39 +0000 (15:25 +0100)]
Add myself to MAINTAINERS file and update Wim's e-mail.
Tim-Philipp Müller [Tue, 11 Aug 2009 02:08:01 +0000 (03:08 +0100)]
v4l2: fix make distcheck by disting some more headers
Tim-Philipp Müller [Tue, 11 Aug 2009 01:42:16 +0000 (02:42 +0100)]
docs: update
Tim-Philipp Müller [Tue, 11 Aug 2009 01:31:44 +0000 (02:31 +0100)]
Move rtpmanager from -bad to -good.
Hook up build infrastructure (autotools, docs, unit test).
ric [Thu, 6 Aug 2009 17:26:21 +0000 (19:26 +0200)]
rtpsource: avoid buffer leak on bad seqnum
Fixes #590797
Wim Taymans [Tue, 28 Jul 2009 16:18:20 +0000 (18:18 +0200)]
rtpsource: allow for NULL caps on buffers
Add the NULL caps check where it matters and also cover another case of
potential NULL caps.
Fixes #590030
Olivier Crête [Tue, 28 Jul 2009 15:59:56 +0000 (11:59 -0400)]
rtpsource: Incoming buffers do not always have caps
Wim Taymans [Mon, 27 Jul 2009 13:46:23 +0000 (15:46 +0200)]
rtpsession: avoid doing lip-sync in BYE
When we get a BYE packet, don't do lip-sync with the SR inside because some
senders have trouble constructing valid SR packets after BYE.
Wim Taymans [Mon, 27 Jul 2009 11:17:20 +0000 (13:17 +0200)]
rtpbin: don't do lip-sync after a BYE
After a BYE packet from a source, stop forwarding the SR packets for lip-sync
to rtpbin. Some senders don't update their SR packets correctly after sending a
BYE and then we break lip-sync. We prefer to let the jitterbuffers drain with
the current lip-sync instead.
Wim Taymans [Mon, 27 Jul 2009 10:43:02 +0000 (12:43 +0200)]
rtpbin: only reconsider once for BYE
When iterating the sources of a BYE packet, don't signal a reconsideration for
each of them but signal after we handled all sources.
Olivier Crête [Tue, 21 Jul 2009 19:33:41 +0000 (15:33 -0400)]
rtpsession: Free conflicting addresses on finalize
Wim Taymans [Wed, 1 Jul 2009 10:55:03 +0000 (12:55 +0200)]
rtpbin: use new method for netaddress to string
Wim Taymans [Mon, 29 Jun 2009 16:48:33 +0000 (18:48 +0200)]
rtpbin: do better cleanup of the src ghostpads
Connect to the pad-removed signal of the ptdemux elements so that we remove the
ghostpads for them. Fixes cleanup when going to NULL as well as when releasing
the sinkpads.
Fixes #561752
Wim Taymans [Thu, 28 May 2009 17:08:40 +0000 (19:08 +0200)]
rtpsession: add a comment
Wim Taymans [Mon, 29 Jun 2009 14:37:54 +0000 (16:37 +0200)]
rtpbin: add SDES property
Remove all individual SDES properties and use one sdes property that takes a
GstStructure instead. This will allow us to add more custom stuff to the SDES
messages later.
Wim Taymans [Mon, 29 Jun 2009 14:21:05 +0000 (16:21 +0200)]
rtpbin: add SDES property that takes GstStructure
Remove all individual SDES properties and use one sdes property that takes a
GstStructure instead. This will allow us to add more custom stuff to the SDES
messages later.
Wim Taymans [Tue, 2 Jun 2009 15:46:08 +0000 (17:46 +0200)]
rtpbin: removed old gstrtpclient
Branko Subasic [Fri, 19 Jun 2009 17:09:19 +0000 (19:09 +0200)]
rtpbin: add support for buffer-list
Add support for sending buffer-lists.
Add unit test for testing that the buffer-list passed through rtpbin.
fixes #585839
Tim-Philipp Müller [Fri, 19 Jun 2009 15:21:28 +0000 (16:21 +0100)]
Make build without warnings with debugging disabled
Olivier Crête [Thu, 28 May 2009 21:37:44 +0000 (17:37 -0400)]
rtpbin: Transform the right session sdes message
Fixes #584165
Olivier Crête [Thu, 28 May 2009 21:33:10 +0000 (17:33 -0400)]
Add ssrc to application/x-rtp-source-sdes structure
Wim Taymans [Wed, 27 May 2009 09:03:14 +0000 (11:03 +0200)]
rtpsouce: the network address is in network order
Bring the network address in netowkr byte order to the host order.
Wim Taymans [Tue, 26 May 2009 13:40:52 +0000 (15:40 +0200)]
rtpsource: byteswap the port from GstNetAddress
Since the port in GstNetAddress is in network order we might need to byteswap it
before adding it to the source statistics.
Wim Taymans [Mon, 25 May 2009 11:46:29 +0000 (13:46 +0200)]
rtpbin: remove ptdemux ghostpads
Wim Taymans [Mon, 25 May 2009 11:33:20 +0000 (13:33 +0200)]
tests: add receive rtpbin unit test
Wim Taymans [Fri, 22 May 2009 14:41:19 +0000 (16:41 +0200)]
rtpbin: add to new signal to remove SSRC pads
Ali Sabil [Fri, 22 May 2009 14:35:20 +0000 (16:35 +0200)]
ssrcdemux: emit signal when pads are removed
Add action signal to clear an SSRC in the ssrc demuxer.
Add signal to notify of removed ssrc.
See #554839
Wim Taymans [Fri, 22 May 2009 13:45:19 +0000 (15:45 +0200)]
rtpbin: use our ghostpads instead of its target
Since we keep a reference to our ghostpads, we can use them to track sessions.
This avoid us having to mess with the target of the ghostpad.
Wim Taymans [Fri, 22 May 2009 13:37:29 +0000 (15:37 +0200)]
tests: more rtpbin checks
Wim Taymans [Fri, 22 May 2009 13:36:17 +0000 (15:36 +0200)]
rtpbin: don't warn when getting request pads twice
Allow getting the request pads multiple times, just return the previously
created pads.
Wim Taymans [Fri, 22 May 2009 11:47:30 +0000 (13:47 +0200)]
rtpsource: add RTP and RTCP source address
Add the RTP and RTCP sender addresses in the stats structure.
Wim Taymans [Fri, 22 May 2009 11:45:15 +0000 (13:45 +0200)]
rtpsession: reuse source code for SDES
Reuse the RTPSource object property instead of duplicating code.
Wim Taymans [Fri, 22 May 2009 11:44:17 +0000 (13:44 +0200)]
tests: add more rtpbin tests
Wim Taymans [Fri, 22 May 2009 10:23:27 +0000 (12:23 +0200)]
tests: add rtpbin unit test
Add the beginnings of an rtpbin unit test
Add some more stuff to .gitignore
Wim Taymans [Fri, 22 May 2009 10:20:13 +0000 (12:20 +0200)]
rtpbin: set target state on new elements
Set the state on newly added elements to the state of the parent.
Add some debug info and do some cleanups
Wim Taymans [Fri, 22 May 2009 09:59:17 +0000 (11:59 +0200)]
rtpbin: unref requests pads after releasing
Olivier Crête [Thu, 21 May 2009 23:43:50 +0000 (01:43 +0200)]
rtpbin: Implement releasing the streams
See #561752
Olivier Crête [Thu, 21 May 2009 23:16:11 +0000 (01:16 +0200)]
rtpbin: Keep jb signals handler
Keep the signal handlers so they can be disconnected at release time
See #561752
Wim Taymans [Thu, 21 May 2009 23:12:57 +0000 (01:12 +0200)]
rtpbin: use the right lock for the sessions
Use the right lock when iterating the sessions.
Olivier Crête [Thu, 21 May 2009 23:03:55 +0000 (01:03 +0200)]
rtpbin: Free session if request pads are released
Free the session when all the request pads are released.
Don't mess with the session list in free_session as it is called from a foreach
on that list.
Set the state of the upstream element to NULL first.
See #561752
Olivier Crête [Thu, 21 May 2009 22:51:53 +0000 (00:51 +0200)]
rtpbin: Implement relasing of the rtp recv pad
Olivier Crête [Thu, 21 May 2009 22:44:51 +0000 (00:44 +0200)]
rtpbin: Implement releasing of rtp send pads
Olivier Crête [Thu, 21 May 2009 22:34:36 +0000 (00:34 +0200)]
rtpbin: Implement release of the recv rtcp pad
See #561752
Olivier Crête [Thu, 21 May 2009 22:16:19 +0000 (00:16 +0200)]
rtpbin: Implement releasing of rtcp src pad
See #561752
Wim Taymans [Tue, 5 May 2009 14:48:37 +0000 (16:48 +0200)]
rtpssrcdemux: drop unexpected RTCP packets
We usually only get SR packets in our chain function but if an invalid packet
contains the SR packet after the RR packet, we must not fail but simply ignore
the malformed packet.
Fixes #581375
Olivier Crete [Mon, 27 Apr 2009 09:09:08 +0000 (11:09 +0200)]
rtpsouce: make WARNING into LOG
Since neither rtpmanager nor any of the payloaders properly implement
pad allocation, there is no way for the rtpmanager to inform downstream elements
of the new SSRC if there is an SSRC collision. So the warning is emitted all the
time and it is confusing.
Fixes #580144
Olivier Crete [Mon, 27 Apr 2009 09:06:01 +0000 (11:06 +0200)]
rtpsession: notify when SSRC changes
Emit a g_object_notify when the SSRc changes because of a collision.
Fixes #580144
Wim Taymans [Fri, 17 Apr 2009 14:16:29 +0000 (16:16 +0200)]
rtpsession: join the RTCP thread
Avoid a case where a joinable thread would be left unjoined, which leaked the
thread structure.
Fixes #577318.