Commit graph

546 commits

Author SHA1 Message Date
Mark Nauwelaerts
f189f62b13 Merge branch 'master' into 0.11
Conflicts:
	ext/wavpack/gstwavpackenc.c
	tests/check/elements/audioiirfilter.c
	tests/examples/v4l2/probe.c
2012-03-01 11:29:50 +01:00
Edward Hervey
9beda57c3a Suppress deprecation warnings in selected files, for g_value_array_* mostly 2012-02-27 14:47:25 +01:00
Tim-Philipp Müller
979431c034 rtpjitterbuffer: declare variables at the beginning of the block
It's how we roll. Fixes 'ISO C90 forbids mixed declarations and code'
compiler warning.
2012-02-16 11:21:28 +00:00
Wim Taymans
225e98d623 Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacenc.c
	ext/jack/gstjackaudioclient.c
	ext/jack/gstjackaudiosink.c
	ext/jack/gstjackaudiosrc.c
	ext/pulse/plugin.c
	ext/shout2/gstshout2.c
	gst/matroska/matroska-mux.c
	gst/rtp/gstrtph264pay.c
2012-02-10 16:23:14 +01:00
Wim Taymans
9365f12d6e GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:43:30 +01:00
Wim Taymans
ed8c0b7f63 jitterbuffer: fix caps after pt change 2012-02-06 09:23:07 +01:00
Wim Taymans
c94c06530e jitterbuffer: fix caps leak 2012-02-06 09:18:17 +01:00
Tim-Philipp Müller
0f3b7b010e build: ignore GValueArray deprecation warnings for the time being
until this gets sorted out with the GLib folks and we have a
viable alternative.

https://bugzilla.gnome.org/show_bug.cgi?id=667228
2012-02-01 16:40:51 +00:00
Olivier Crête
87f2088303 rtpjitterbuffer: Don't leak caps event when not pushing 2012-01-27 19:05:24 +01:00
Olivier Crête
33a6d1921f rtpptdemux: Forward sticky events 2012-01-27 19:05:24 +01:00
Olivier Crête
7b1f8cb8f0 rtpptdemux: Protect all uses pad list with OBJECT LOCK
Actually protect the entire pad list and use it in a thread safe
way.
2012-01-27 19:05:24 +01:00
Olivier Crête
b3f5cdd1f9 rtpssrcdemux: Forward sticky events to new pads 2012-01-27 19:05:24 +01:00
Olivier Crête
76c93af537 rtpssrcdemux: Add ssrc to forwarded CAPS events
Also iterate the list of GstRtpSsrcDemuxPad safely
2012-01-27 19:05:23 +01:00
Olivier Crête
3285c45dbc rtpssrccdemux: Factor out getting dpad by pad 2012-01-27 19:05:23 +01:00
Olivier Crête
b850741430 rtpsession: Keep the buffer mapped while it is being modified 2012-01-27 19:05:23 +01:00
Olivier Crête
aeec2d5f7e rtpsession: Initialise the address pointer to NULL 2012-01-27 19:05:23 +01:00
Tim-Philipp Müller
5525e40970 rtpmanager: don't pretend our random hostnames are fully-qualified domain names 2012-01-25 13:19:12 +00:00
Sebastian Dröge
0b517ce9fb Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-good into 0.11 2012-01-25 12:49:34 +01:00
Sebastian Dröge
10554b271f Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacdec.c
	ext/jpeg/gstjpegenc.c
	ext/pulse/pulsesink.c
	sys/v4l2/gstv4l2src.c
2012-01-25 12:49:11 +01:00
Wim Taymans
b4630dd3e0 more memory API porting 2012-01-25 12:30:29 +01:00
Tim-Philipp Müller
a476d529d2 rtpmanager: don't reveal the user's username, hostname or real name by default
Send a randomly made-up user@hostname as CNAME and don't
send a NAME at all by default.

https://bugzilla.gnome.org/show_bug.cgi?id=668320
2012-01-23 13:47:08 +00:00
Tim-Philipp Müller
7cb9b7ab9d Use new GLib API unconditionally 2012-01-22 23:15:19 +00:00
Mark Nauwelaerts
eff88a239f rtpbin: arrange for initialized variables 2012-01-20 17:10:51 +01:00
Wim Taymans
1584806634 port to new gthread API 2012-01-19 11:33:53 +01:00
Sebastian Dröge
cb789e32ad rtpmanager: Port to GIO 2012-01-17 13:08:42 +01:00
Tim-Philipp Müller
f10e8192fa rtpptdemux: plug pad leak in error code path
Based on patch by: Stig Sandnes <stig.sandnes@cisco.com>

Don't leak srcpad if there are no caps.

https://bugzilla.gnome.org/show_bug.cgi?id=667820
2012-01-13 11:02:24 +00:00
Vincent Penquerc'h
654a04f90c gstrtpssrcdemux: fix element leak 2012-01-12 18:23:42 +00:00
Sebastian Dröge
93e3ed5a86 Merge branch 'master' into 0.11
Conflicts:
	ext/cairo/gsttextoverlay.c
	ext/pulse/pulseaudiosink.c
	gst/audioparsers/gstaacparse.c
	gst/avi/gstavimux.c
	gst/flv/gstflvmux.c
	gst/interleave/interleave.c
	gst/isomp4/gstqtmux.c
	gst/matroska/matroska-demux.c
	gst/matroska/matroska-mux.c
	gst/matroska/matroska-mux.h
	gst/matroska/matroska-read-common.c
	gst/multifile/gstmultifilesink.c
	gst/multipart/multipartmux.c
	gst/shapewipe/gstshapewipe.c
	gst/smpte/gstsmpte.c
	gst/udp/gstmultiudpsink.c
	gst/videobox/gstvideobox.c
	gst/videocrop/gstaspectratiocrop.c
	gst/videomixer/videomixer.c
	gst/videomixer/videomixer2.c
	gst/wavparse/gstwavparse.c
	po/ja.po
	po/lv.po
	po/sr.po
	tests/check/Makefile.am
	tests/check/elements/qtmux.c
	tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Wim Taymans
5fd2b7abe3 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-03 15:26:21 +01:00
Tim-Philipp Müller
b8b8454bcb Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
330d984288 Use g_thread_try_new() instead of g_thread_crate() with newer glib versions 2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
66f6e12888 Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
2011-12-12 09:46:27 +00:00
Wim Taymans
9e27b122d9 ssrcdemux: fix iterator and caps 2011-12-10 11:13:38 +01:00
Wim Taymans
da980884dd rtpsession: forward the caps event 2011-12-10 11:13:38 +01:00
Wim Taymans
a705b2ec17 jitterbuffer: simply forward the caps event
forward the caps event we get as input instead of making a new event etc..
2011-12-10 11:13:38 +01:00
Wim Taymans
68588c3f18 rtpsession: forward caps 2011-12-10 11:13:38 +01:00
Wim Taymans
6ac5e1ae16 rtp: pass parent to setcaps methods 2011-12-10 11:13:38 +01:00
Wim Taymans
439e2f1cfd rtp: fix marshallers
Remove custom marshallers for minobject.
Init RTCP buffer correctly.
Handle results from setcaps
Remove asserts.
2011-12-09 10:51:14 +01:00
Edward Hervey
86a57e3546 rtpmanager: Initialize GstRTPBuffer before usage 2011-12-05 18:40:12 +01:00
Wim Taymans
71b615515a update for clock provider API change 2011-11-28 17:52:06 +01:00
Vincent Penquerc'h
c0e101e93f various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Tim-Philipp Müller
09ca5fa910 rtpmanager: rename gstrtp* -> rtp*
This was done in 0.10 to avoid conflict with the rtp elements in
farsight, but the gst-prefixing is no longer needed in 0.11
2011-11-24 00:54:08 +00:00
Matej Knopp
1e5dd9e315 Fix printf format compiler warnings on OS X / 64bit
https://bugzilla.gnome.org/show_bug.cgi?id=662615
2011-11-22 01:28:22 +00:00
Wim Taymans
f8e988a94c update for activation changes 2011-11-21 13:37:01 +01:00
Wim Taymans
b7aa7bca52 add parent to activate functions 2011-11-18 13:57:20 +01:00
Wim Taymans
07cc855b24 Merge branch 'master' into 0.11
Conflicts:
	ext/speex/gstspeexenc.c
	gst/rtpmanager/rtpsession.c
2011-11-17 17:17:11 +01:00
Wim Taymans
105650127e add parent to pad functions 2011-11-17 15:02:55 +01:00
Wim Taymans
7cc4b72550 add parent to internal links 2011-11-16 17:54:49 +01:00
Wim Taymans
6190312214 add parent to query function 2011-11-16 17:27:13 +01:00
Wim Taymans
797523efbd _peer_get_caps() -> _peer_query_caps() 2011-11-15 18:04:44 +01:00
Wim Taymans
75dc9634eb change getcaps to query
Chain up event function in payloaders.
2011-11-15 18:04:44 +01:00
Olivier Crête
1169bb05af gstrtpsession: Add special mode to use FIR as repair as Google does
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
79a9564c68 rtpsession: Send FIR requests in response to key unit requests with all-headers=TRUE
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
12a6b9613b rtpsession: Put the PLI requests in each RTPSource
Also refactor a bit and put all the keyframe request code in one
place inside rtpsession.c

https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
59c028a4ce rtpsession: Hack to FIR because Google doesn't set the sender ssrc correctly
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
0ad78db0a3 rtpsession: Process received Full Intra Requests
Process FIR requests according to RFC 5104

https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Wim Taymans
a19a4a69ae more template fixes 2011-11-04 13:12:37 +01:00
Wim Taymans
a95acb7122 make %u in all request pad templates 2011-11-04 11:58:22 +01:00
Wim Taymans
6cbd6afc0b update for new net library 2011-11-03 16:43:00 +01:00
Wim Taymans
83ccefb24e update for netbuffer api change 2011-11-02 09:06:38 +01:00
Wim Taymans
75e0c6052f update for netaddress change 2011-11-02 09:06:38 +01:00
Wim Taymans
9a8a8e72c8 structure: fix for api update 2011-11-02 09:06:37 +01:00
Wim Taymans
161310fa23 bufferlist: update for new API 2011-11-02 09:06:37 +01:00
Tim-Philipp Müller
d18a578ba4 rtpmanager, v4l2: fix compiler warnings after gst_caps_new_simple() change 2011-10-28 09:06:41 +01:00
Wim Taymans
fc4684f4c6 fix compilation 2011-10-27 16:03:17 +02:00
Edward Hervey
d4a2a46606 rtpssrcdemux: Fix wrong usage of gst_iterator_filter
It takes a GValue* as the user_data.

And don't forget to unref the demuxer before returning.
2011-10-13 09:34:04 +02:00
Wim Taymans
87fbd1e784 Merge branch 'master' into 0.11
Conflicts:
	common
	ext/pulse/pulsesink.c
	ext/soup/gstsouphttpclientsink.c
	gst/audioparsers/gstaacparse.c
	gst/audioparsers/gstac3parse.c
	gst/rtp/gstrtph264depay.c
	gst/rtpmanager/gstrtpjitterbuffer.c
	gst/rtpmanager/rtpjitterbuffer.c
	gst/rtsp/gstrtspsrc.c
	sys/ximage/gstximagesrc.c
2011-09-28 12:44:59 +02:00
Ha Nguyen
931020158e rtpbin: Fix a leaked clock for each buffering message
Fixes bug #659237.
2011-09-19 14:05:26 +02:00
Mark Nauwelaerts
e2179cbb74 rtpsession: avoid source premature timing out
Use slightly adjusted sender interval to determine sender timeout rather than
our own sender side interval (which may have been forced small).
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
f65d4c8300 rtpsession: avoid timing out source too quickly
... following a PAUSE/PLAY cycle, particularly applicable when operating
with a short RTCP interval (possibly forced so server-side).
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
77ebd33991 rtpjitterbuffer/rtpbin: relax dropping rtcp packets
... to at least having it trigger a/v synchronization, possibly without
using provided values which are still not considered sane
(as previously dropped).
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
adfe7d0467 rtpjitterbuffer: some more reset when clearing pt map
... which in particular caters for some more reset following a possible
rtsp PLAY.
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
915db26029 rtpjitterbuffer: only reset skew on gap if input ts available 2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
1e17e10f75 rtpjitterbuffer: check some more for possible rtp timestamp discontinuity
... when operating in non slave mode, and reset if detected.
This should avoid some (large) bogus outgoing timestamp due to jumps
in rtp time, as result of PAUSE/PLAY or seek or ...
2011-09-19 11:56:40 +02:00
Mark Nauwelaerts
9c95072048 rtpbin: alternative inter-stream syncing methods
... at least if not syncing to NPT time:
* either sync using RTCP SR data (as currently)
* only perform the above once using initial RTCP SR packets
* discard RTCP and sync by equating provided stream's clock-base rtptime,
  as provided by jitterbuffer (typically obtained from RTP-Info in RTSP).
2011-09-19 11:52:03 +02:00
Mark Nauwelaerts
4b7301e4d1 rtpjitterbuffer: also provide clock-base to sync signal 2011-09-19 11:52:00 +02:00
Mark Nauwelaerts
f29c253934 rtpbin: allow configurable rtcp stream syncing interval
... rather than necessarily syncing at each RTCP SR.
2011-09-19 11:51:57 +02:00
Mark Nauwelaerts
afd26f0078 rtpsession: trigger reconsideration if rtcp interval set 2011-09-19 11:51:50 +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
Olivier Crête
b2e8362767 rtpsession: Initialise the last_keyframe_request variable 2011-09-02 19:24:46 -04: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
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
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
ef02634dc6 rtpmanager: port to 0.11
* use G_DEFINE_TYPE
* adjust to new GstBuffer and corresponding rtp and rtcp buffer interfaces
* misc caps and segment handling changes

FIXME: also relies on being able to pass caps along with a buffer,
which has no evident equivalent yet, so that either needs one,
or still needs quite some code path modification to drag along caps.
2011-07-06 10:16:12 +02:00
Mark Nauwelaerts
d59a00aa1c Merge branch 'master' into 0.11
Conflicts:
	ext/pulse/pulsesink.c
2011-07-04 11:48:13 +02:00
Miguel Angel Cabrera Moya
977a5eee7a rtpjitterbuffer: return correct type when assertion fails 2011-06-24 11:59:01 +02:00
Wim Taymans
cc65bff7c1 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	docs/plugins/inspect/plugin-esdsink.xml
	docs/plugins/inspect/plugin-gconfelements.xml
2011-06-21 18:24:41 +02:00
Olivier Crête
581a30d892 rtpsession: The signal has 5 arguments, not 4 2011-06-20 16:47:36 -04:00
Wim Taymans
409f29700d -good: port some more plugins 2011-06-13 17:51:40 +02:00
Wim Taymans
e15651816e Merge branch 'master' into 0.11 2011-05-17 16:13:59 +02:00
Sebastian Dröge
b694bfeca3 ssrcdemux: Fix uninitialized variable compiler warning for (pre-) releases too 2011-05-17 10:47:32 +02:00
Sebastian Dröge
0f05d3e5a5 rtpssrcdemux: Fix uninitialized variable compiler warning 2011-05-17 09:24:08 +02:00
Olivier Crête
b6bfc512e8 ssrcdemux: Implement iterate internal links for sink pads
https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:29 +02:00
Olivier Crête
23b6c8febc rtpssrcdemux: iterate pad function is only valid for src pads
The iterate function is only used for src pads, so mark it as such and remove
dead code.

https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:25 +02:00
Olivier Crête
1bf94a92b0 rtpssrcdemux: Release lock before emitting signal
If the lock is not released before emitting a signal, it may cause a deadlock
if any other function in the element is called.

Also removed an unused timestamp parameter

https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:20 +02:00