Commit graph

3431 commits

Author SHA1 Message Date
Wim Taymans 05418f1687 rtpbin: avoid some structure copies
Don't make copied in the getter and setter for SDES in the RTPSource. This
avoids a couple of copies of the SDES structure when generating RTCP
packets.
2009-12-22 22:27:21 +01:00
Pascal Buhler c3448f978e rtpmanager: improve SDES handling
Store SDES internally as a struct to support multiple PRIV values.
Include all values set in SDES struct when sending RTCP SDES.
2009-12-22 21:43:25 +01:00
Wim Taymans 251401aef1 rtph263depay: add some fixmes 2009-12-22 14:41:35 +01:00
Wim Taymans 564581e1b8 rtph263depay: baseclass handles timestamps for us 2009-12-22 14:35:13 +01:00
Wim Taymans 27ff4a8a47 rtph263depay: reset start variable properly 2009-12-22 14:27:40 +01:00
Marco Ballesio 74b3439374 Drop the whole frame if a packet is lost.
Fixes #582575
2009-12-22 11:48:52 +01:00
Wim Taymans 4687199348 rtph264pay: add option to insert PPS/SPS in streams
Add a new spspps-interval property to instruct the payloader to insert
SPS and PPS at periodic intervals in the stream.
Rework the SPS/PPS handling so that bytestream and AVC sample code both use the
same code paths to handle sprop-parameter-sets. This also allows to have the AVC
code to insert SPS/PPS like the bytestream code.

Fixes #604913
2009-12-21 20:45:54 +01:00
Jonathan Conder 1112090589 qtdemux: Adds new tags
Adds some new tags mapping to qtdemux.

Fixes #599759
2009-12-21 12:03:30 -03:00
Wim Taymans 9734699788 rtpbin: add property to remove pads automatically
Add a property called autoremove to automatically remove the pads of sources
that timed out.

Fixes #554839
2009-12-21 15:07:44 +01:00
Wim Taymans c611bbaa8e ssrcdemux: fix comparison
A NULL means no pad was found.
2009-12-21 15:07:34 +01:00
Michael Smith eab08d67b3 multiudpsink: pass length parameter to g_convert 2009-12-20 17:26:15 -08:00
Edward Hervey 188725811f matroska: Fix unitialized variable.
Yes, it's stupid, but macosx compilers are even more stupid.
2009-12-18 12:46:06 +01:00
Sebastian Dröge 3ac6f5e48b videomixer: Fix assembly compilation on x86
Fixes bug #604814.
2009-12-17 18:14:55 +01:00
Branko Čibej 7b107f64f3 rganalysis: fix timestamp rounding
Use scaling function to round and avoid overflows.

Fixes #604352
2009-12-17 17:37:03 +01:00
Tiago Katcipis 908a9ee63b rtp: add G723 payloader
Fixes #597823
2009-12-17 17:27:42 +01:00
Wim Taymans cc277b4a26 qtdemux: Fix ALAC codec_data parsing
Fixes #604611
2009-12-17 16:23:56 +01:00
Thiago Santos 4063bb87e8 qtdemux: Remove cpp style coments
Removes // comments and replace them with /* */ comments
2009-12-16 17:28:30 -03:00
Mark Nauwelaerts c9a0d2339e matroskademux: also consider BlockNumber indicated in index when seeking 2009-12-16 12:48:02 +01:00
Mark Nauwelaerts 900ff7247e matroskademux: support push based mode
Fixes #598610.
2009-12-16 12:46:40 +01:00
Mark Nauwelaerts e4183c6904 matroskademux: fix ebml read cache usage 2009-12-16 12:46:37 +01:00
Sebastian Dröge 0a0f7ecc16 videomixer: Use movzbl instead of movzxb for moving one byte to a l register
For some reason latest gcc/binutils accept movzxb here while
movzbl would be correct and is the only thing accepted by older
gcc/binutils.

Fixes bug #604679.
2009-12-16 10:50:32 +01:00
Sebastian Dröge 9e45038d8d videomixer: src/dest are input and output of the AYUV blending MMX assembler 2009-12-16 06:59:01 +01:00
Sebastian Dröge c26ccb9722 audiowsincband: Use the same upper length limit as audiowsinclimit 2009-12-15 18:18:54 +01:00
Sebastian Dröge 7fec6843c0 audiowsinc{limit,band}: Allow much larger filter lengths now 2009-12-15 18:12:47 +01:00
Sebastian Dröge 119a6ce637 audiofxbasefirfilter: Fix frequency response calculation 2009-12-15 18:12:47 +01:00
Sebastian Dröge 8695581751 audiofxbasefirfilter: Remove dead assignments 2009-12-15 18:12:46 +01:00
Sebastian Dröge cd2b1c1b58 audiofxbasefirfilter: Add special processing functions for Mono/Stereo
This provides another 7% speedup for the time domain convolution and 1.5%
speedup for the FFT convolution on Mono input.

This optimization assumes that the compiler simplifies calculations
and conditions on constant numbers and unrolls loops with a constant
number of repeats.
2009-12-15 18:12:46 +01:00
Sebastian Dröge a3d7321c50 audiofxbasefirfilter: Add a "low-latency" mode
This will always use time-domain convolution, which lowers the latency.
With FFT convolution it's always a multiple of the kernel length,
with time domain convolution it's only the pre-latency of the filter kernel.
2009-12-15 18:12:46 +01:00
Sebastian Dröge ca568ff079 audiofxbasefirfilter: Remove obsolete TODO comments 2009-12-15 18:12:46 +01:00
Sebastian Dröge 45edc1bbd8 audiofxbasefirfilter: Use samples everywhere instead of samples*channels sometimes 2009-12-15 18:12:46 +01:00
Sebastian Dröge 02960383c1 audiofxbasefirfilter: FFT convolution implementation
This provides a great speedup, especially the relationship between kernel
length and processing size is now logarithmic instead of linear. Below a
kernel size of 32 it's a bit slower, afterwards it's much faster:

17     0.788000 -> 0.950000
33     1.208000 -> 1.146000
65     2.166000 -> 1.146000
...
4097 107.444000 -> 1.508000

For sizes smaller 32 the normal time-domain convolution is chosen,
for larger sizes the FFT convolution is automatically used.

Fixes bug #594381.
2009-12-15 18:12:46 +01:00
Sebastian Dröge ddafc20b28 audiofxbasefirfilter: Make most code parts independent of the processing functions and used convolution algorithm
Only remaining part is the residue pushing, which will be fixed later.
2009-12-15 18:12:46 +01:00
Sebastian Dröge 43576fb0cf audiofxbasefirfilter: Optimize time-domain convolution
Remove some redundant calculations, move comparisions out of
inner loops, etc.

This makes the convolution about 3 (!) times faster but
processing time is of course still proportional to the
filter size.
2009-12-15 18:12:46 +01:00
Sebastian Dröge c5f955a3b6 audiofxbasefirfilter: Use _CAST macros in some places and do some calculations only once 2009-12-15 18:12:46 +01:00
Sebastian Dröge abb437454e audiofxbasefirfilter: Rewrite timestamp tracking
It's much simpler now and doesn't introduce accumulating rounding
errors.
2009-12-15 18:12:46 +01:00
Sebastian Dröge c57be62881 audiofxbasefirfilter: Rename some variables and change comments 2009-12-15 18:12:45 +01:00
Sebastian Dröge 742a7c7f50 audiofxbasefirfilter: Add const qualifier to the source data array 2009-12-15 18:12:45 +01:00
Sebastian Dröge 061ededa36 videomixer: Add MMX implementations of the AYUV blending and color filling functions
This provides a 20% speedup for blending and 100% for color filling.

The blending can probably be optimized even more.
2009-12-15 12:30:21 +01:00
Tim-Philipp Müller d3a9f07669 id3demux: prefer two letter ISO 639-1 code for extended comment 2009-12-13 13:19:43 +00:00
Tim-Philipp Müller 6c4c8f8670 qtdemux: fix up language code extraction some more
Quicktime uses ISO 639-2 for language codes, but GST_TAG_LANGUAGE
is supposed to hold a ISO 639-1 code, so convert as needed using
the new API from -base.

See #602126.
2009-12-13 13:10:12 +00:00
Tim-Philipp Müller b66f914586 matroska: fix language code writing and extraction
Matroska uses three-letter ISO 639-2B codes, but GST_TAG_LANGUAGE is
supposed to contain two-letter ISO 639-1 codes, so use new language
code mapping functions in -base to convert between those two as
needed.

Fixes #505823.
2009-12-13 12:51:13 +00:00
Tim-Philipp Müller 1b786258c2 avidemux: minor debug message changes
Fix up a few debug messages so that it's clearer what they mean.
2009-12-13 12:51:13 +00:00
Thiago Santos 52177fa056 Revert "qtdemux: Correctly parse classification tags"
This reverts commit cd883aa60c.

Previous code was correct, 4 is due to table and language code,
not only language code
2009-12-12 17:44:04 -03:00
Thiago Santos cd883aa60c qtdemux: Correctly parse classification tags
In clsf atoms, the language code is 2 bytes long, not 4.
2009-12-12 16:31:35 -03:00
Sebastian Dröge 66d3ac8fb7 videomixer: Dequeue current buffer on FLUSH_STOP and don't unref NULL buffers
... NULL buffers shouldn't really happen anymore when popping the
buffer from GstCollectPads but better check for this and print a warning.
2009-12-12 16:55:13 +01:00
Sebastian Dröge 760eaf7b2a videomixer: Fix stupid mistake in last commit 2009-12-11 13:11:12 +01:00
Sebastian Dröge 089d9d9dba videomixer: Don't do floating point math in the inner processing loop for I420 blending 2009-12-11 12:36:42 +01:00
Wim Taymans b8c2ccce4e rtspsrc: handle NULL and empty transport strings
When an RTSP extension returns NULL or an empty transport string, just ignore it
and try to get the next possible transport. Fixes playback of RealMedia streams.
2009-12-10 18:45:55 +01:00
Wim Taymans 6a44d8e198 rtspsrc: install event function on internal RTCP pad
Install a custom event function on the internal RTCP pad so that we can reply
TRUE to a latency event.
2009-12-10 18:45:55 +01:00
Sebastian Dröge 6f51dfba95 videomixer: Remove wrong comments, copied from the I420 blend function 2009-12-10 10:48:49 +01:00