Commit graph

6287 commits

Author SHA1 Message Date
Wim Taymans
a858bf46db rtspsrc: fix TCP reconnect
Ignore other commands when reconnecting, otherwise the loop function would pause
and the reconnection would not happen. Continue looping after doing a reconnect
so that we have a chance to actually read the new data.
2012-12-13 09:30:59 +01:00
Philippe Normand
a8fa9f2b47 deinterleave: properly set srcpad channel position
The src pad caps always describe a single audio channel so only the
first position matters if deinterleave is configured to keep channel
positions in its src pads.
2012-12-12 11:20:56 +00:00
Wim Taymans
b1dc816772 rtspsrc: timeout on udpsrc is in nanoseconds 2012-12-12 11:09:42 +01:00
Wim Taymans
32bd981303 udpsrc: improve timeouts
Make it possible to set the timeout after we went to the READY state by using
the timeout when checking the condition. This also makes it possible to set the
timeout with a higher granularity than seconds.
2012-12-12 11:08:13 +01:00
Wim Taymans
abd7e33db6 deinterlace: add support for strides
Implement stride support correctly by taking it from the GstVideoFrame.
Propose a bufferpool upstream when not operating in passthrough.
2012-12-11 13:00:46 +01:00
Aleix Conchillo Flaque
3503aef946 rtspsrc: do not change state to PLAYING if currently chaning state
* gst/rtsp/gstrtspsrc.c (gst_rtspsrc_play): state change might be
  happening in the application thread, so we don't change the state to
  PLAYING in the gstrtspsrc thread unless it is safe.

  A specific case is when chaning the state to NULL from the application
  thread. This will synchronously try to stop the task (with the element
  state lock acquired), but we will try a gst_element_set_state from
  gstrtspsrc thread which will block on the element state lock causing a
  deadlock.

  https://bugzilla.gnome.org/show_bug.cgi?id=684312
2012-12-10 15:13:22 +01:00
Tim-Philipp Müller
672ab8fb5b webmux: fix linking with shout2send element
Shout2send only accepts webm format, not matroska, but due
to a bug in matroskamux, webmmux's source pad is also created
with the matroska source pad template as pad template, which
makes the link function think it can't link webmmux to shout2send.

Also add unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=689336
2012-11-30 17:22:34 +00:00
Wim Taymans
64cdbb77a9 rtspsrc: use new option parser function 2012-11-27 11:13:37 +01:00
Tim-Philipp Müller
5dee61a8d5 law: fix accidental file permissions change
https://bugzilla.gnome.org/show_bug.cgi?id=687469
2012-11-26 15:17:13 +00:00
Tim-Philipp Müller
314efb684b qtdemux: avoid criticals if unknown fourcc has space at beginning or end
https://bugzilla.gnome.org/show_bug.cgi?id=682936
2012-11-25 14:16:09 +00:00
Tim-Philipp Müller
efaa80fbc6 videobox: fix border filling for planar YUV formats
We would get a green border instead of a black one, for
example.

https://bugzilla.gnome.org/show_bug.cgi?id=684991
2012-11-24 19:32:51 +00:00
Tim-Philipp Müller
ef6c16a32e mulaw: const-ify some arrays 2012-11-24 14:27:33 +00:00
Roland Krikava
3be45f7022 mulawdec: fix integer overrun
There might be more than 65535 samples in a chunk of data.

https://bugzilla.gnome.org/show_bug.cgi?id=687469
2012-11-24 14:24:41 +00:00
Wim Taymans
5d0507c09e rtspsrc: pause the task instead of spinning
Actually pause the loop task instead of spinning forever.
2012-11-22 11:34:31 +01:00
Joshua M. Doe
fe9fb8d8a7 videoflip: Add gray 8/16 support 2012-11-20 12:49:49 +01:00
Wim Taymans
c28bfa8902 rtspsrc: handle segment event
Make a segment event when we send a new range header to a client (first PLAY
request or after a seek). Send the segment event in interleaved mode.
Clean the segment event on cleanup

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688382
2012-11-16 15:38:29 +01:00
Wim Taymans
bd91bd3193 rtspsrc: fix check for active streams
A stream can be active without a srcpad yet and we want to send
events on those streams as well.
2012-11-16 15:22:46 +01:00
Wim Taymans
11cf4d4fd3 rtspsrc: create and add pads outside of lock
Create and add the ghostpad for the new stream outside of the lock because it
is not needed and causes deadlocks.
2012-11-16 13:33:44 +01:00
Aleix Conchillo Flaque
6c855edf03 rtspsrc: allow client to disable reconnection
* gst/rtsp/gstrtspsrc.[ch]: added new "udp-reconnect" property. Before,
  rtspsrc always tried to reconnect to the server when the RTSP
  connection was closed by the server. This property lets the user
  decide whether it wants rtspsrc to reconnect or not.

  https://bugzilla.gnome.org/show_bug.cgi?id=683912
2012-11-16 12:55:10 +01:00
Wim Taymans
e2a4d28c1f rtspsrc: clear variables before retrying
Else we might unref an old udpsrc twice in cleanup.
2012-11-16 12:17:37 +01:00
Wim Taymans
cc9cb26be1 rtspsrc: propose ports in multicast
When the user configured a port-range, propose ports from this range
as the multicast ports. The server is free to ignore this request but if it
honours it, increment our ports so that we suggest the next port pair for the
next stream.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=639420
2012-11-16 12:17:37 +01:00
Wim Taymans
5025b3f1b3 rtspsrc: add more debug 2012-11-16 12:17:37 +01:00
Tim-Philipp Müller
6f1aa3e4d5 multifilesink: post messages in max-size mode as well
No reason not to really.
2012-11-16 09:13:22 +00:00
Wim Taymans
c33507f186 udpsrc: post error before stopping 2012-11-15 14:48:59 +01:00
Tim-Philipp Müller
bdf3c77828 gst_adapter_prev_timestamp -> gst_adapter_prev_pts
https://bugzilla.gnome.org/show_bug.cgi?id=675598
2012-11-14 00:13:36 +00:00
Nicolas Dufresne
673d2d24b8 videoflip: Add NV12/NV21 support
https://bugzilla.gnome.org/show_bug.cgi?id=688225
2012-11-13 14:25:04 +01:00
Wim Taymans
c755af0cb0 rtpsource: protect against invalid RTP packets 2012-11-12 11:18:30 +01:00
Tim-Philipp Müller
35fafae241 videocrop: add support for YV12
We can do I420, so we can do YV12 as well.
2012-11-10 18:21:28 +00:00
Alessandro Decina
b916d2b398 multifilesink: don't write stream headers with key-unit-event
Don't write stream headers, let upstream elements insert them in the stream if
all_headers=true is set in key unit events.
2012-11-10 12:41:33 +01:00
Nicolas Dufresne
e111068f7b videocrop: Add NV12/NV21 support
https://bugzilla.gnome.org/show_bug.cgi?id=687964
2012-11-10 01:52:44 +01:00
Sebastian Dröge
c70ba7765a udpsrc: Also clear GError 2012-11-09 11:22:30 +01:00
Sebastian Dröge
b86d20e45b udpsrc: Don't error out if we get an ICMP destination-unreachable message when trying to read packets
See bug #529454 and #687782 and commit
751f2bb364
2012-11-09 11:20:27 +01:00
Christian Fredrik Kalager Schaller
485505f323 Fix vp8rtp header names in Makefile 2012-11-07 13:36:33 +01:00
Nicolas Dufresne
1ad8ebac44 videocrop: Add support for automatic cropping
This change enable automatic cropping using -1 set to left, top, right or
bottom property. In the case both side are set to automatic cropping, the
croping will be done equally on both side (in the odd case, right and
bottom cropping will be 1 pixel more).

https://bugzilla.gnome.org/show_bug.cgi?id=687761
2012-11-07 11:20:24 +01:00
Marc Leeman
7cbca3dcd1 rtsp: the RTCP port number is inclusive
The configured port number pair has its upper bound set to the maximum
allowed RTCP port, inclusive.

See https://bugzilla.gnome.org/show_bug.cgi?id=639420
2012-11-06 13:22:58 +01:00
Tim-Philipp Müller
230cf41cc9 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Wim Taymans
9857e6af4d vrawdepay: don't access rtp buffer after unmap
Read the marker bit before we unmap the rtp packet.
2012-11-02 18:48:17 +00:00
Douglas Bagnall
0b898ab911 videoconvert: Compare y offset with height, not width, when testing for overlap
This could have prevented images showing that should have when the
source height is greater than its width.

When width exceeds height, as is common, it probably only caused a
miniscule amount of unnecessary work.  I haven't tested.
2012-11-02 09:29:30 +01:00
Tim-Philipp Müller
5ac789408b rtpvp8: include config.h and minor style fixes 2012-11-01 21:10:21 +00:00
Tim-Philipp Müller
4a849d6690 rtp: fix tabs/space mess in Makefile.am 2012-11-01 20:53:48 +00:00
Tim-Philipp Müller
321acd14dc rtp: move VP8 payloader and depayloader from -bad
Spec is still in draft state, but should hopefully not
change much now. Besides, we announce things as VP8-DRAFT-IETF-01
in our caps, so even if things change in incompatible ways it
should not break anything.

https://bugzilla.gnome.org/show_bug.cgi?id=687263
2012-11-01 20:53:48 +00:00
Tim-Philipp Müller
44efab8e3d rtpvp8: use gst_element_class_set_static_metadata()
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-11-01 20:53:48 +00:00
Mark Nauwelaerts
bc7dbbbd4f rtpvp8: replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-11-01 20:53:48 +00:00
Sebastian Dröge
4853001547 rtpvp8: update for GST_PLUGIN_DEFINE() API changes 2012-11-01 20:53:48 +00:00
Wim Taymans
fccfca38d4 rtpvp8: update for buffer changes 2012-11-01 20:53:48 +00:00
Danilo Cesar Lemes de Paula
3edffb13e3 rtpvp8; fix compatibility with the third draft
https://bugzilla.gnome.org/show_bug.cgi?id=671073
2012-11-01 20:53:48 +00:00
Mark Nauwelaerts
d9581832a0 rtpvp8: port some more to new memory API 2012-11-01 20:53:47 +00:00
Olivier Crête
c6761daa27 rtpvp8: port to 0.11 2012-11-01 20:53:47 +00:00
Sebastian Dröge
2c5ea76bdc rtpvp8pay: Fix typo 2012-11-01 20:53:47 +00:00
Youness Alaoui
1cf155d70d rtpvp8: Update the pay/depay to the ietf-draft-01 spec 2012-11-01 20:53:47 +00:00