Commit graph

13677 commits

Author SHA1 Message Date
Brendan Long c0852624f7 vp9dec: Require vpx >= 1.3.0 for building vp9dec and vp9enc
Previous versions did not have a stable bitstream for VP9.

https://bugzilla.gnome.org/show_bug.cgi?id=720986
2013-12-23 19:31:25 +01:00
Sebastian Dröge 4baf8080f2 matroskamux: Use correct codec id for ADPCM/DVI 2013-12-23 15:46:48 +01:00
Sebastian Dröge 7cae8922cb matroskademux: Check for the correct size of codec_data in the ACM case 2013-12-23 15:46:43 +01:00
Nicola Murino 00ea1cb003 matroskamux: basic adpcm support
https://bugzilla.gnome.org/show_bug.cgi?id=664339
2013-12-23 15:31:04 +01:00
Sebastian Dröge 371482a90c qtdemux: Fix calcuation of descriptor length
https://bugzilla.gnome.org/show_bug.cgi?id=720813
2013-12-23 15:09:49 +01:00
Tim-Philipp Müller aa9ee4bd93 Automatic update of common submodule
From dbedaa0 to d48bed3
2013-12-22 22:33:39 +00:00
Tim-Philipp Müller ecaede0ce6 po: set gettext domain in Makevars so we don't have to patch the generated Makefile.in.in
https://bugzilla.gnome.org/show_bug.cgi?id=705455
2013-12-22 22:23:49 +00:00
Tim-Philipp Müller 9c9efffd8c udpsrc: on receive error only unmap and unref buffer if one was alloced and mapped
coverity CID 1139866.
2013-12-19 20:35:03 +00:00
Tim-Philipp Müller 627109ce4d multiudpsink: fix misleading comment
Those are not allocated on the stack.
2013-12-19 12:47:22 +00:00
Sebastian Dröge c62229ae2d vpx: Mark VP9 support as non-experimental
There was a libvpx release with VP9 support now and the bitstream
is frozen too.
2013-12-17 18:28:25 +01:00
Todd Agulnick 8bab119af9 Some compiler warning fixes to satisfy XCode compiler
https://bugzilla.gnome.org/show_bug.cgi?id=720513
2013-12-16 16:52:40 +01:00
Sebastian Dröge 92c3211c79 id3v2mux: Set picture type in the APIC frames 2013-12-16 16:17:07 +01:00
Sebastian Dröge d60ac3cfea id3v2mux: Set image-description from the info struct, not the caps 2013-12-16 16:14:52 +01:00
Sebastian Dröge 2927805749 wavpackparse: Post AUDIO_CODEC tag 2013-12-16 10:03:06 +01:00
Sebastian Dröge 753d3c23a2 sbcparse: Post AUDIO_CODEC tag 2013-12-16 10:03:06 +01:00
Sebastian Dröge 05e196cbb6 flacparse: Post AUDIO_CODEC tag
https://bugzilla.gnome.org/show_bug.cgi?id=720512
2013-12-16 10:03:06 +01:00
Sebastian Dröge 29f2cae129 dcaparse: Post AUDIO_CODEC tag 2013-12-16 10:03:05 +01:00
Sebastian Dröge d2ab5199bc amrparse: Post AUDIO_CODEC tag 2013-12-16 10:03:05 +01:00
Sebastian Dröge 6f89b430ea ac3parse: Post AUDIO_CODEC tag 2013-12-16 10:03:05 +01:00
Sebastian Dröge b3abbe3f5e aacparse: Post AUDIO_CODEC tag 2013-12-16 10:03:05 +01:00
Sebastian Dröge c07424a534 mpegaudioparse: Use pbutils functionality to create the AUDIO_CODEC tag 2013-12-16 10:03:05 +01:00
Olivier Crête ada6ea668b rtpsession: Add error message if the app tries to set the internal-ssrc 2013-12-13 17:36:36 -05:00
Olivier Crête d715010d78 rtpsession: Only count nacks when a nack packet is received
Not when any RTCP feedback packet is.
2013-12-13 16:08:35 -05:00
Olivier Crête dc845c1899 tests: Initialize segment in rtpcollision test 2013-12-13 16:05:41 -05:00
Olivier Crête 7af9fdbca6 rtpsession: Process PSFB FIR requests which lack the media ssrc
According to RFC 5104 section 4.3.1.2, RTCP PSFB FIR message SHALL
have a media_ssrc field set to 0. The actual media ssrc is in the FCI.
So in that case, we ignore the retained feedback and just let it through
to the rtp_session_process_fir() function which will check for the actual
SSRC inside the FCI.

Fixes a regression introduced by commit 57c27ec3
2013-12-13 16:01:07 -05:00
George Kiagiadakis 6a2de911fa rtpsession: fix rb blocks disappearing after the first rtcp cycle with multiple senders
Previously, when the session had multiple internal sender SSRCs, it would
issue SR reports with RB blocks only on the first RTCP timeout and afterwards
SR reports would be sent empty. This was because the "generation" number
in RTPSource would increase more than once during the same cycle and afterwards
it would always be greater than the session's generation, which would cause
it to be skipped from being included in RBs.

This commit fixes this problem by:
1) Increasing the RTPSource generation only at the end of each cycle,
which essentially fixes the problem but only when the internal senders
are less than GST_RTCP_MAX_RB_COUNT.
2) Keeping for each RTPSource a set of SSRCs which stores which SSRC's
SR the given RTPSource has been reported in, which also fixes the problem
when the internal senders are more than GST_RTCP_MAX_RB_COUNT. This is
necessary because of the fact that any RTPSource is marked as reported
in itself's SR and makes it impossible to know if it has been reported
in other SRs too or not, and which.
2013-12-12 16:44:27 +01:00
George Kiagiadakis f9b7f44938 tests/check: add an rtpsession unit test to verify all RBs are included in all SRs, roundrobin
This test checks that when we have multiple internal sender sources
in rtpsession, SRs contain RBs for every other sender source, and that
they are included roundrobin when they exceed ST_RTCP_MAX_RB_COUNT,
which is the max number of RBs that can fit in a SR.
2013-12-12 16:02:56 +01:00
Wim Taymans b4ebf8ca50 docs: improve docs 2013-12-12 16:01:10 +01:00
Julien Isorce a0df8b8fce doc: add design-rtpcollision.txt that explains when GstRTPCollision is created
It also talks about "BYE only the corresponding source, not the whole session."
2013-12-12 15:46:24 +01:00
Julien Isorce d562263852 tests/check: improve rtpcollision::test_master_ssrc_collision to ensure that a collision does not BYE the whole session
Conflicts:
	tests/check/elements/rtpcollision.c
2013-12-12 15:39:40 +01:00
Julien Isorce 7b001e35ed tests/check: add rtpcollision::test_master_ssrc_collision unit test
It checks the payloader changes its ssrc when collision happens
2013-12-12 15:39:39 +01:00
George Kiagiadakis c78a115154 rtpsession: keep extra stats for scheduling BYE
Keep an extra stats structure for scheduling the BYE packets. When we
decide to schedule BYE, make a copy of the current stats into the
bye_stats. Then while we schedule the BYE, update and use only the
bye_stats. When we finished scheduling the BYE packet, we use the
regular stats again.
2013-12-12 10:38:43 +01:00
George Kiagiadakis 282028e753 rtpsession: when we schedule BYE, only deal with BYE sources
When we are doing the RTCP timeout to schedule BYE packets, don't
generate RTCP for all sources but only for the sources marked as BYE.
2013-12-12 10:34:38 +01:00
George Kiagiadakis 6a421c3d81 rtpsession: reset state after scheduling BYE
After we do RTCP, we are not scheduling bye anymore.
2013-12-12 10:32:48 +01:00
George Kiagiadakis 0a0ff100ef rtpsession: also count NACKS when no signal was pending 2013-12-12 10:31:38 +01:00
George Kiagiadakis bec9c04ea0 session: ignore RTCP packets for the BYE sources
When we are scheduling BYE packets, ignore all RTCP for the sources that
are scheduling a BYE packet. Other sources that are not scheduling BYE
should continue receiving RTCP packets as usual.
2013-12-12 10:09:25 +01:00
Julien Isorce 33b398e345 rtpsession: determine if the session is doing point-to-point
In this case T_dither_max is set to 0 according to RFC 4585
2013-12-10 16:57:56 +01:00
Wim Taymans eee515cb2c rtpjitterbuffer: serialize events in the buffer
Serialize events into the jitterbuffer by inserting them with a -1
seqnum.
Update unit test to expect events from the streaming thread.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=652986
2013-12-10 11:57:37 +01:00
Wim Taymans 36e78bc5ca rtpjitterbuffer: detect -1 seqnum
Keep the seqnum as a full guint so that we can check for -1 entries and
deal with them correctly.
Immediately try to push -1 seqnum.
2013-12-10 11:04:06 +01:00
Wim Taymans 4a2e0f4ff4 rtpjitterbuffer: reorganize jitterbuffer items
Keep the oldest item at the head and the newest items on the tail. This
makes it easier to deal with -1 seqnums.
2013-12-10 11:01:03 +01:00
Wim Taymans ea2a222cef jitterbuffer: correctly check for invalid values
Check for -1 on the guint from the buffer item instead of on the guint16
or guint32.
Also insert -1 seqnum at the head of the jitterbuffer.
2013-12-09 23:34:10 +01:00
Alessandro Decina fdf8ac40d8 osxvideosink: fix segfault when dealing with padded frames
Fixes crashes with vtdec ! osxvideosink where VideoToolbox outputs padded UYVY
2013-12-08 16:51:00 +01:00
Sebastian Dröge f3c3dee148 mulawdec: Require caps to be set before accepting any data 2013-12-05 12:15:29 +01:00
Sebastian Dröge d9deb95012 wavpackdec: Require caps to be set before accepting any data 2013-12-05 12:15:19 +01:00
Sebastian Dröge c880e36779 speexdec: Require caps to be set before accepting any data 2013-12-05 12:13:33 +01:00
Sebastian Dröge 774e56b051 flacdec: Require caps to be set before accepting any data 2013-12-05 12:13:10 +01:00
Sebastian Dröge 5c8163a685 vpx: Use new gst_video_decoder_set_needs_format() API 2013-12-05 11:42:34 +01:00
Olivier Crête dc782af133 pulsesink: Free device_info in accepts caps
https://bugzilla.gnome.org/show_bug.cgi?id=719811
2013-12-04 16:24:06 -05:00
Sebastian Dröge d585bd7bbd rtptheorapay: Don't send headers twice if we got them from the caps already 2013-12-04 21:58:29 +01:00
Sebastian Dröge d105de6e0f rtptheorapay: Don't leak config data when receiving a second CAPS event 2013-12-04 21:58:29 +01:00