Wim Taymans
a5b9d3f917
rtpbin: propagate buffer-mode property
...
Propagate buffer-mode property to the jitterbuffers.
Intercept BUFFERING messages in rtpbin
2010-02-12 17:22:53 +01:00
Wim Taymans
d3db9574a9
jitterbuffer: do more buffering implementation
...
Add callback for buffering stats.
Configure the latency in the jitterbuffer instead of passing it with _insert.
Calculate buffering levels when pushing and popping
Post buffering messages.
2010-02-12 17:22:52 +01:00
Wim Taymans
aeacbfed3e
jitterbuffer: flesh out buffering mode some more
...
Add a buffering state to the jitterbuffer and wait until buffering ends before
pushing out packets.
2010-02-12 17:22:52 +01:00
Wim Taymans
56b29c9a6b
jitterbuffer: hook up the mode property
...
Expose a mode property on the jitterbuffer.
Fix the case where timestamps are -1 in the check for outgoing timestamps.
2010-02-12 17:22:52 +01:00
Wim Taymans
be4517a6b8
jitterbuffer: add buffering mode options
...
Add getters and setters for different buffering modes that the jitterbuffer will
support. Default to the current slave mode.
2010-02-12 17:22:52 +01:00
Robert Swain
bf9d8dbbdc
flvdemux: Obtain the index from the end of an flv file in push mode
...
Allows for better support of seeking in flv files when in push mode
2010-02-12 16:25:44 +01:00
Robert Swain
dd23397b4f
avidemux: Drop video frames up to the desired keyframe after a seek
...
The audio packets in AVI are generally muxed ~0.5s before the
corresponding video packet. This changes causes downstream to only
receive packets with roughly corresponding timestamps.
2010-02-12 15:56:18 +01:00
Wim Taymans
1175d0698c
avidemux: more DISCONT handling
...
Add some debug in the DISCONT handling code.
When we receive a DISCONT in push mode, mark all streams as DISCONT.
2010-02-12 15:56:18 +01:00
Robert Swain
0011c9b0da
avidemux: Fix _handle_seek_push () and new segement behaviour
2010-02-12 15:56:18 +01:00
Wim Taymans
2ce79998a1
avidemux: cleanups
...
Make sure we reset the demuxer correctly wrt parsing the index.
Don't leak pending seek events.
Rename some methods to reflect what they do and to avoid confusion with similar
method names.
Try to make the seeking threadsafe by protecting the setup code with a lock.
Make sure we post errors when a seek fails.
2010-02-12 15:56:18 +01:00
Wim Taymans
e6cc145352
avidemux: rename some variables
...
seek_event -> seg_event
event_seek -> seek_event
2010-02-12 15:56:18 +01:00
Wim Taymans
784d888cb2
avidemux: take fallback duration from avih
...
When we have not parsed any indexes yet, we don't know the length of the streams
and we must take the length given in the avih as a fallback.
Avoid some typechecking.
2010-02-12 15:56:18 +01:00
Robert Swain
3e1ed0c727
avidemux: Push mode seeking support
2010-02-12 15:56:18 +01:00
Wim Taymans
c2dfc94b1d
rtspsrc: cleanup properties
...
Use more default constants.
Use static strings param flag.
Init properties explicitly instead of letting gobject do this.
2010-02-12 15:20:07 +01:00
Stefan Kost
f003fef3ad
taginject: fix multi-value tag example
...
We need to use {} to specify a list.
2010-02-12 15:35:30 +02:00
Stefan Kost
ef343d8ad9
avi,wav: also handle JUNQ chunk in addition to JUNK
2010-02-12 15:35:30 +02:00
Wim Taymans
ad6d4540a7
rtppay: don't ignore result from set_outcaps
...
set_outcaps can fail and we need to propagate the result upstream.
2010-02-12 13:53:58 +01:00
Wim Taymans
1f9c39da2a
flvparse: fix confusing debug messages
2010-02-12 13:53:58 +01:00
Wim Taymans
99a581215f
jitterbuffer: add some more debug info
2010-02-12 13:53:57 +01:00
Wim Taymans
caec8d9837
videomixer: fix timestamp problems
...
When the pad with the highest framerate goes EOS, instead of not timestamping
output buffers, intepollate timestamps and durations from the last seen ones.
Fixes #608026
2010-02-12 13:53:57 +01:00
Sebastian Dröge
919e93f1b2
[MOVED FROM BAD 29/29] shapewipe: Preserve the input color values in all cases
2010-02-12 11:12:35 +01:00
Sebastian Dröge
e9f9f4cfd4
[MOVED FROM BAD 28/29] shapewipe: Scale mask alpha values by the source alpha values
2010-02-12 11:12:35 +01:00
Sebastian Dröge
8786380c9a
[MOVED FROM BAD 27/29] shapewipe: Fix ARGB processing
2010-02-12 11:12:35 +01:00
Sebastian Dröge
6e086c8e2f
[MOVED FROM BAD 25/29] shapewipe: Improve/add debug output
2010-02-12 11:12:34 +01:00
Sebastian Dröge
4d038dc516
[MOVED FROM BAD 24/29] shapewipe: Always hold the mask mutex before signalling the GCond
2010-02-12 11:12:34 +01:00
Sebastian Dröge
e2ab650079
[MOVED FROM BAD 23/29] shapewipe: Move chain function error cases at the end of the function and add useful debug output
2010-02-12 11:12:34 +01:00
Sebastian Dröge
11a16e95e2
[MOVED FROM BAD 22/29] shapewipe: Fix race condition during shutdown that can lead to a deadlock
2010-02-12 11:12:34 +01:00
Sebastian Dröge
69b9c76dc8
[MOVED FROM BAD 21/29] shapewipe: Drop mask buffer on FLUSH events
2010-02-12 11:12:34 +01:00
Sebastian Dröge
104471f517
[MOVED FROM BAD 20/29] shapewipe: Update copyright year
2010-02-12 11:12:34 +01:00
Sebastian Dröge
a089677871
[MOVED FROM BAD 19/29] shapewipe: Don't reset properties when going PAUSED->READY
...
Also use defines for the default values of the properties.
2010-02-12 11:12:34 +01:00
Sebastian Dröge
89605b416b
[MOVED FROM BAD 18/29] shapewipe: Replace floating point arithmetic in the inner processing loops by integer arithmetic
2010-02-12 11:12:34 +01:00
Sebastian Dröge
5f2e64e3a0
[MOVED FROM BAD 17/29] shapewipe: Don't do pointer dereferences in the processing loop
...
Lowers the time taken there in my testcase from 6.91% to 6.20%
as measured by callgrind.
2010-02-12 11:12:34 +01:00
Sebastian Dröge
41eed9dcca
[MOVED FROM BAD 16/29] shapewipe: Add BGRA support for video in/output
2010-02-12 11:12:33 +01:00
Sebastian Dröge
9716cb9935
[MOVED FROM BAD 15/29] shapewipe: Add support for ARGB video input/output
2010-02-12 11:12:33 +01:00
Sebastian Dröge
76a21dec7f
[MOVED FROM BAD 14/29] shapewipe: Correctly handle 0/1 fps
2010-02-12 11:12:33 +01:00
Sebastian Dröge
809d15428c
[MOVED FROM BAD 13/29] shapewipe: Implement basic QoS
...
This change is based on Tim's QoS implementation
for jpegdec.
2010-02-12 11:12:33 +01:00
Sebastian Dröge
5fba6963ff
[MOVED FROM BAD 12/29] shapewipe: Proxy queries on the video pads to the correct peers
2010-02-12 11:12:33 +01:00
Sebastian Dröge
48dd557fea
[MOVED FROM BAD 11/29] shapewipe: Proxy bufferalloc on the video sinkpad
2010-02-12 11:12:33 +01:00
Sebastian Dröge
91668db57c
[MOVED FROM BAD 10/29] shapewipe: Try to work inplace if possible
...
This saves one new, large allocation per frame for the
most cases.
2010-02-12 11:12:33 +01:00
Sebastian Dröge
e5d41ba407
[MOVED FROM BAD 08/29] shapewipe: Fix some issues that were exposed by the new unit test
2010-02-12 11:12:33 +01:00
Sebastian Dröge
e207e7b8a3
[MOVED FROM BAD 06/29] shapewipe: Add documentation and integrate into the build system
2010-02-12 11:12:32 +01:00
Sebastian Dröge
19a0764537
[MOVED FROM BAD 05/29] shapewipe: Adjust border to still have everything transparent at 1.0 and the other way around
2010-02-12 11:12:32 +01:00
Sebastian Dröge
88f4bd4efd
[MOVED FROM BAD 04/29] shapewipe: Divide the border value by two, otherwise we use a twice a wide border
2010-02-12 11:12:32 +01:00
Sebastian Dröge
c0f9553707
[MOVED FROM BAD 03/29] shapewipe: Add border property to allow smooth borders
...
...and use a border of 0.01 in the example application.
2010-02-12 11:12:32 +01:00
Sebastian Dröge
12a27a46f9
[MOVED FROM BAD 01/29] shapewipe: Add a simple shapewipe transition filter & example application
2010-02-12 11:12:32 +01:00
Robert Swain
4aff3e48be
qtdemux: temporary safety check to avoid crashes with a certain file
...
Add temporary check to avoid crashes with a certain file when seeking
until the real cause of this is figured out. See #609405 .
2010-02-10 20:36:56 +00:00
Robert Swain
7877ffb6f5
qtdemux: skip unknown atoms when looking for moov
...
Fixes bug #609107
2010-02-07 10:56:02 +01:00
Robert Swain
9ed6c58006
qtdemux: Set the segment start time to the requested seek time for non-keyframe seeks
2010-02-04 18:54:58 +00:00
Robert Swain
8d4f70c5ce
qtdemux: Fix time returned for index at a byte offset
...
The logic for searching forwards/backwards was swapped
2010-02-04 18:54:53 +00:00
Mark Nauwelaerts
f0d6b841a2
matroskademux: improve stream synchronization
...
In particular, do not make it send newsegment updates that
sort-of contradict the indented playback segment (e.g. start time).
2010-02-02 16:54:05 +01:00
Mark Nauwelaerts
b527360f21
matroskademux: fix bridging (time) gaps in streams
...
As a side effect, avoid sending newsegment updates with start times
that go back and forth, which leads to bogus downstream running_time.
Also fixes seeking in bug #606744 .
2010-02-02 16:53:56 +01:00
Mark Nauwelaerts
9bec2b1127
matroskademux: fix stream synchronization
...
.. by initializing streams starting at 0, as that is basically
where we 'seek to' at the start and assume streams to start elsewhere.
Also enables newsegment update events for subtitle streams.
2010-02-02 16:53:51 +01:00
Wim Taymans
c35a984801
rtspsrc: free transports on errors
...
See #608564
2010-02-01 19:32:11 +01:00
Robert Swain
f9bf5970a3
flvmux: index timestamps should be in seconds, not milliseconds
2010-01-27 20:24:41 +01:00
Mark Nauwelaerts
71e35b2bf3
rtpspeexpay: fix occasional buffer leak
...
Fixes #608255 .
2010-01-27 17:05:34 +01:00
Sebastian Dröge
41b17ec2a7
videomixer: Fix assembly register constraints
...
Fixes bug #608209 .
2010-01-27 16:35:10 +01:00
Wim Taymans
01f0a5ce32
avidemux: ignore streams that finished
...
When we receive an UNEXPECTED from a stream, move to the next stream and only go
EOS when all streams are EOS. When selecting a stream to push, ignore streams
that went EOS.
Fixes #607949
2010-01-26 11:22:56 +01:00
Edward Hervey
cb0474b6b3
qtdemux: dmb1 is a valid fourcc for Motion-JPEG
2010-01-23 14:47:55 +01:00
Edward Hervey
a782ef3ce8
qtdeux: IV32 is also used for Indeo 3 video streams
2010-01-23 14:20:02 +01:00
Roland Krikava
8a80fdaad1
qtdemux: Avoid negative overflow on keyframe search
...
Do not overflow negatively when searching a previous
"keyframe" on audio streams. Could cause infinite loops
on backwards playback
Fixes #607718
2010-01-21 23:20:34 -03:00
Alessandro Decina
5d3d3f28e1
qtdemux: fix compiler warnings under OS X.
2010-01-21 19:24:22 +01:00
Wim Taymans
7d39f8e5bb
avidemux: don't parse NULL indexes
...
for some streams we might fail to fetch the index offsets. Don't try to parse
NULL indexes in those cases.
2010-01-21 17:59:25 +01:00
Olivier Crête
9afc247906
rtpg729pay: ptime should is in nanoseconds
...
https://bugzilla.gnome.org/show_bug.cgi?id=607403
2010-01-21 10:54:14 +01:00
Thiago Santos
ef2b7bbcab
wavenc: Post warning if file isnt finished properly
...
When the pipeline is shut down and the file isn't
finished properly, wavenc should post a warning.
Fixes #607440
2010-01-20 15:11:15 -03:00
Arnout Vandecappelle
ca41ddda75
matroskamux: make index size configurable.
...
Added the 'min-index-interval' property to matroskamux,
which determines how much time (nanoseconds) is left
between keyframes stored in the index.
Fixes #583985 .
2010-01-20 14:37:20 -03:00
Wim Taymans
1f6b06ce66
rtph264pay: scale spspps_interval to milliseconds
...
The spspps_interval is kept in seconds. Convert it to milliseconds before
comparing it to another value in milliseconds.
2010-01-20 16:29:57 +01:00
Mark Nauwelaerts
8ca984d5e8
qtdemux: always keep media segments within total duration
...
... as opposed to only doing so following a seek.
2010-01-20 16:03:21 +01:00
Wim Taymans
95333115cd
rtph264pay: rename spspps-interval property
...
Rename the spspps-interval property to config-interval because it is nicer.
2010-01-20 15:44:40 +01:00
Wim Taymans
afc3c674c0
avidemux: skip RIFF and index in push mode
...
When we are in push mode, we can encounter RIFF and idx tags in the data chunk
when we are dealing with ODML files. In these cases, simply skip the chunks and
continue streaming instead of going EOS.
2010-01-20 11:47:04 +01:00
Wim Taymans
570319822a
avidemux: more DISCONT handling
...
Add some debug in the DISCONT handling code.
When we receive a DISCONT in push mode, mark all streams as DISCONT.
2010-01-20 11:47:04 +01:00
Wim Taymans
40e3b0189a
avidemux: reset on flush events
...
When we receive a flush event on the sinkpad, reset the EOS state and the
flowreturn of all streams. Also mark the streams with a DISCONT.
2010-01-20 11:47:03 +01:00
Wim Taymans
183d450113
avidemux: rename some variable
...
Rename the seek_event variable to seg_event because it really contains the
newsegment event that needs to be pushed.
2010-01-20 11:47:03 +01:00
Olivier Crête
c4fa559f15
rtph264pay: Don't set profile-level-id in out caps
...
The profile-level-id represents restrictions on what can be sent, it does not
describe the stream. So it should be reflected in the sink caps of the
payloader, not the src caps.
https://bugzilla.gnome.org/show_bug.cgi?id=607353
2010-01-19 13:47:38 +01:00
Olivier Crête
7a0590b1f1
rtph264pay: Don't ignore the return value from set_outcaps
...
https://bugzilla.gnome.org/show_bug.cgi?id=607353
2010-01-19 13:35:37 +01:00
Sebastian Dröge
2261bd8346
deinterlace: Fix license and copyright headers
2010-01-18 17:44:17 +01:00
Wim Taymans
fb716a6250
avidemux: avoid some typecasting
2010-01-15 18:15:14 +01:00
Wim Taymans
592b440911
avidemux: avoid some type checks
2010-01-15 18:13:24 +01:00
Wim Taymans
d4301d900f
avidemux: fallback to avih duration
...
when we have not yet parsed the indexes (in push mode, for example) use
the duration as given in the avih header instead of -1.
2010-01-15 18:09:15 +01:00
Thiago Santos
e61a71b490
qtdemux: g_free is NULL safe
2010-01-15 13:42:30 -03:00
Thiago Santos
b07f406634
qtdemux: use DEMUX errors, instead of DECODE
...
qtdemux should use DEMUX errors, and not DECODE
Conflicts:
gst/qtdemux/qtdemux.c
2010-01-15 13:42:30 -03:00
Thiago Santos
b988ff4f57
qtdemux: Minor refactor
...
Replace repeated code with a function call
2010-01-15 13:42:30 -03:00
Thiago Santos
92a83e016a
qtdemux: Handle another kind of redirect trak
...
Some traks might contain a redirect rtsp uri inside
hndl atom (which is a dref atom entry). This commit makes qtdemux
post a message when it finds one of these traks and there are
no other traks.
Fixes #597497
2010-01-15 13:42:29 -03:00
Thiago Santos
06de494640
qtdemux: Post error when reaching EOS without pads
...
Post an error when EOS is reached and there are no src pads
2010-01-15 13:42:22 -03:00
Thiago Santos
b53a45ed44
qtdemux: Do not post empty redirect messages
...
Some misinterpreted data could result in posting redirect messages
with empty redirect strings. It is better not to post them.
An example is the file on bug #597497
2010-01-15 13:13:59 -03:00
Mark Nauwelaerts
891ca1f4d3
matroskademux: polish last buffer end time usage
...
That is, reset it upon seek, and note that (rarely) last pushed buffer
time might precede segment start.
2010-01-14 18:19:25 +01:00
Stefan Kost
404e673ac0
videomixer: use 'q' constraint instead of 'r'
...
This avoids the "bad register name `%dil'" compilation errors on 32bit where
because of 'r' gcc puts the value in a general purpose register and then tries
to access the lower part as %dil/%sil which is not existing on 32bit. 'q' requests
a-d registers
2010-01-13 16:48:46 +02:00
Stefan Kost
7e3783cbac
avi: add missing include for sscanf
2010-01-13 16:44:58 +02:00
Sebastian Dröge
4a0f441c59
equalizer: Fix property description for the 3rd band of the 10band equalizer
...
The frequency is actually 237 Hz, not 227 Hz.
Fixes bug #606692 .
2010-01-13 09:36:03 +01:00
Kipp Cannon
d009678bc5
audioamplify: Allow negative amplifications
...
Fixes bug #606807 .
2010-01-13 09:22:20 +01:00
Edward Hervey
3f5add8820
qtdemux: use G_GSIZE_FORMAT for platform independent gsize qualifier
...
Fixes build on macosx
2010-01-12 17:39:05 +01:00
Mark Nauwelaerts
59224d77f8
matroskademux: refactor eos sending when pausing loop
...
Also, prevent hanging if no pads yet on which to send eos by
posting a message instead.
2010-01-11 21:15:47 +01:00
Mark Nauwelaerts
ae515fead4
matroskademux: standardize seek handling
...
... which implies fixing some corner cases.
2010-01-11 21:15:46 +01:00
Mark Nauwelaerts
927c22bdc4
matroskamux: use more generic xiphN_streamheader_to_codecdata helper
2010-01-11 21:15:43 +01:00
Mark Nauwelaerts
847d1dd4ed
matroskamux: reflow audio and video setcaps and improve logging
...
Also ensure width and height are available as they are mandatory
in matroska specs.
2010-01-11 21:15:41 +01:00
Michael Smith
144fbd2d8f
qtdemux: fix offset for type 2 mp4a sound sample descriptions.
...
Allows us to correctly find the esds (and thus the codec data) for such
mp4a files.
2010-01-11 11:48:29 -08:00
Thiago Santos
fa32e08d91
rtpmp4g(de)pay: Only handle raw aac
...
rtpmp4g(de)pay should only handle raw AAC streams
2010-01-11 15:46:50 -03:00
Sebastian Dröge
daa52708b3
videomixer: Implement basic QoS
...
This drops frames if they're too late anyway before blending and all
that starts but QoS events are not forwarded upstream. In the future
the QoS events should be transformed somehow and forwarded upstream.
2010-01-11 19:32:35 +01:00
Thiago Santos
c563dd7eb2
rtpmp4a(de)pay: Only accept raw aac
...
rtpmp4a(de)pay should only handle raw aac to conform to the RFC
2010-01-11 15:00:00 -03:00
Sebastian Dröge
6158f401a1
videomixer: Add MMX implementations for I420 and all non-alpha RGB formats
2010-01-11 18:37:45 +01:00
Sebastian Dröge
2950262186
videomixer: Refactor processing functions
...
This allows easier plugging of optimized processing functions
in the future, like for SSE or AltiVec.
2010-01-11 18:37:44 +01:00
Thiago Santos
5975b01b01
avimux: matroskamux: rename aac's stream-format to raw
...
AAC's none stream-format has been renamed to raw, rename
on avimux and matroskamux as well
2010-01-11 13:26:32 -03:00
Thiago Santos
1314853210
matroskamux: Only accept raw aac
...
makes matroskamux reject aac streams that are not
in raw format (stream-format=none)
Fixes #598350
2010-01-11 12:32:29 -03:00
Thiago Santos
bacd350483
avimux: Only accept raw aac
...
makes avimux reject aac streams that are not
in raw format (stream-format=none)
Fixes #598350
2010-01-11 12:32:27 -03:00
Robert Swain
866d13e7b9
qtdemux: Oops. The gpointer cast is needed because of the const
...
qualifiers on the data elements
2010-01-11 10:38:10 +01:00
Robert Swain
4ac643c2d9
qtdemux: Debug -> info level for a message for benchmarking index parsing
...
The extra message output at higher levels affects the accuracy of the
benchmark.
2010-01-11 10:17:54 +01:00
Robert Swain
c93ea637ef
qtdemux: Don't check for NULL pointers or cast to gpointer as this is
...
not needed
2010-01-11 10:05:10 +01:00
Robert Swain
a340359127
qtdemux: Refactor stbl sub-atom freeing. Free when index has been
...
completely parsed.
2010-01-11 09:50:33 +01:00
Robert Swain
3daf1871c1
qtdemux: Avoid whitespace commits due to inconsistent GNU indent
...
behaviour
2010-01-11 09:50:33 +01:00
Tim-Philipp Müller
e1bff64f00
qtdemux: remove newline at end of debug statement
2010-01-11 00:10:34 +00:00
Havard Graff
4ead3d85bf
multiudpsink: Compiler warning fixes for Windows
...
Just simple missing casts
Fixes bug #606438 .
2010-01-09 17:17:23 +01:00
Thiago Santos
8e84d457b2
avidemux: Use more glib and be safer
...
Be safer on sscanf by limiting string format sizes.
Remove useless parameter and use g_strndup.
2010-01-08 11:33:02 -03:00
Thiago Santos
c0e184641a
avidemux: Simplifying code
...
Greatly simplify the IDIT chunk handling by using sscanf
instead of 'manually' parsing. Also replaces strncasecmp and
is_alpha/is_digit with glib versions.
2010-01-08 10:51:17 -03:00
Thiago Santos
7024ce14cf
avidemux: it's feb for february
...
Fix typo in last commit.
2010-01-08 10:18:30 -03:00
Thiago Santos
a5197a94ee
avidemux: Parse and post IDIT dates
...
Parses and post date tags contained in IDIT chunks.
Fixes #503582
2010-01-08 09:17:22 -03:00
Sebastian Dröge
a9a5e0c7e1
audiofxbasefirfilter: Add property for not draining the history on kernel changes
...
Currently this only works if the kernel size doesn't change, in the future
it will be possible to change the kernel size too without draining
the complete history and without loosing anything.
Partially based on a patch by
Thiago Santos <thiago.sousa.santos@collabora.co.uk>
2010-01-07 17:28:43 +01:00
Wim Taymans
ed22a97478
rtph264pay: remove weird memcmp code
...
Use plain memcmp for comparing memory instead of the custom buggy one.
Fixes #606198
2010-01-07 17:00:20 +01:00
Edward Hervey
3e08a0cb4e
level: fix typo in 'message' property description
2010-01-07 15:38:36 +01:00
Wim Taymans
4c1947045e
rtpg728pay: remove unused adapter peek
2010-01-06 13:45:59 +01:00
Michael Smith
7f442ab1c1
qtdemux: Add support for wave-style audio in qt.
...
Uses gstriff to parse the wave headers appropriately. Tested with MS-ADPCM
content.
2010-01-05 12:11:31 -08:00
Olivier Crête
63a9db5826
rtpg729pay: Simplify adapter usage
...
https://bugzilla.gnome.org/show_bug.cgi?id=606050
2010-01-05 13:23:26 -05:00
Olivier Crête
0a18587792
rtpg729pay: Support ptime from caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=606050
2010-01-05 13:23:26 -05:00
Olivier Crête
321829f595
rtp: Add maxptime to the README
...
https://bugzilla.gnome.org/show_bug.cgi?id=606050
2010-01-05 13:23:26 -05:00
Wim Taymans
b32ddfc174
rtpg723depay: add G723 depayloader
2010-01-05 19:03:06 +01:00
Wim Taymans
ca7ecdf2f3
rtpg729depay: remove unused variable
2010-01-05 19:02:39 +01:00
Wim Taymans
d6d06630e8
rtpg723pay: rewrite payloader
...
Handle all 3 packet sizes according to RFC 3551.
Totally untested, we don't have a G723 encoder.
Fixes #605882
2010-01-05 18:33:25 +01:00
Wim Taymans
48615d5e98
qtdemux: fix chunk counter
2010-01-05 15:51:55 +01:00
Wim Taymans
17630760f4
qtdemux: more work at reducing loop overhead
...
Try to avoid derefs when parsing the index. Save the state into the structures
when we exit the loop instead of for each iteration.
2010-01-05 15:51:52 +01:00
Wim Taymans
91a5e5138f
qtdemux: cleanups and make duration more accurate
...
Make the QtDemuxSample struct smaller by keeping the duration and the pts_offset
as their 32 bit values.
Make some macros to calculate PTS, DTS and duration of a sample.
Deref the sample index less often by keeping a ref to the sample we're dealing
with.
2010-01-05 15:51:50 +01:00
Wim Taymans
22eb18f828
qtdemux: simplify logic to calculate duration
...
Since we no longer store the timestamp and duration in nanoseconds, we can now
simply store the duration as-is.
2010-01-05 15:51:48 +01:00
Robert Swain
1c27ed4dae
qtdemux: Store timestamps in mov format in the index
...
This allows faster building of the index upon seeks so that scaling of
timestamps only occurs when actually needed.
2010-01-05 15:51:45 +01:00
Wim Taymans
86021857c5
qtdemux: make seeking in push mode work
...
Move sample position checks into qtdemux_parse_samples where we can protect it
with a lock.
Refactor and make an qtdemux_ensure_index function.
Rename qtdemux_do_push_seek to qtdemux_seek_offset in order to avoid confusion
with gst_qtdemux_do_push_seek.
2010-01-05 15:51:43 +01:00
Wim Taymans
3b643817be
qtdemux: move error code out of normal flow
2010-01-05 15:51:40 +01:00
Robert Swain
4b2b7067b6
qtdemux: Add push mode seek support for seeking to obtain the moov atom
2010-01-05 15:51:36 +01:00
Wim Taymans
8c5a822250
rtspsrc: fix on-npt-stop signal warnings for RDT
...
The RDT manager does not implement this signal so we need to check for it before
trying to connect to it.
2010-01-05 12:23:16 +01:00
Stefan Kost
fd9530d2d5
avimux: fix typo in warning message
2010-01-05 00:12:44 +02:00
Arun Raghavan
e9f9164fb6
qtdemux: Add tags for average and maximum bitrate
...
Fixes #599300 .
2009-12-31 18:25:20 +00:00
Thiago Santos
173be1422c
audiofxbasefirfilter: do not try to alloc really large buffers
...
When nsamples_out is larger than nsamples_in, using unsigned
ints lead to a overflow and the resulting value is wrong and
way too large for allocating a buffer. Use signed integers
and returning immediatelly when that happens.
2009-12-26 16:59:14 -03:00
Wim Taymans
362785df88
videomixer: optimize blend code some more
...
Use more efficient formula that uses less multiplies.
Reduce the amount of scalar code, use MMX to calculate the desired
alpha value.
Unroll and handle 2 pixels in one iteration for improved pairing.
2009-12-25 12:38:45 +01:00
Wim Taymans
4f9ded7742
videomixer: scale and clamp
...
Scale and clamp to the max alpha values.
2009-12-24 22:59:09 +01:00
Wim Taymans
0620797a18
alpha: scale and clamp alpha to its full extend
...
Convert the alpha value to 0->255 when setting and to 0->256 when using as
a scaling factor. This makes sure we can reach the full opacity value of 0xff in
all cases.
2009-12-24 22:50:31 +01:00
Wim Taymans
a65240d1c1
rtspsrc: fix some comments, remove property check
...
Fix some comments, clarify some FIXMEs
Remove the on-ntp-stop signal check now that the jitterbuffer is in
-good and we know that it supports this signal.
2009-12-24 22:23:01 +01:00
Wim Taymans
3c0f18d765
videomixer: some trivial cleanups
2009-12-24 21:45:12 +01:00
Thiago Santos
ac03ad782a
rtspsrc: Parse all rtpinfo entries
...
Do not forget to parse all rtp-info entries, instead of
parsing the first one only.
Fixes #605222
2009-12-24 17:08:22 -03:00
Thiago Santos
5d86010dad
qtdemux: perf tag should map to GST_TAG_ARTIST
2009-12-24 17:06:16 -03:00
Wim Taymans
fe529e71c5
interleave: fix weird indentation
2009-12-24 17:03:02 +01:00
Wim Taymans
59dc9dac03
rtph263ppay: use faster _adapter_copy() whem possible
2009-12-24 17:01:54 +01:00
Mark Nauwelaerts
05307c46e7
rtph264pay: fix uninitialized variable
2009-12-23 19:39:05 +01:00
Wim Taymans
9f098b352b
rtp: use boilerplate
2009-12-23 13:09:54 +01:00
Wim Taymans
2ee7f58416
rtpL16pay: convert to baseaudiopayload
...
Use GstRTPBaseAudioPayload as the base class. This saves a lot of code and fixes
a bunch of problems that were already solved in the base class.
Fixes #853367
2009-12-23 00:38:05 +01:00
Wim Taymans
cdb8c718bb
rtppcmapay: the boilerplate macro sets parent_class
2009-12-23 00:30:49 +01:00
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
Sebastian Dröge
93089ef445
videomixer: The queued duration is a signed integer
...
...and it will really be negative sometimes.
2009-12-09 21:15:07 +01:00
Sebastian Dröge
7418dee253
videomixer: Only pop buffers from collectpads after they're fully consumed
...
This decreases latency and memory usage because new buffers are only
accepted by collectpads if there's no queued buffer.
2009-12-09 21:03:57 +01:00
Sebastian Dröge
cd888c0531
matroskademux: Clean up position/duration handling
...
Also use the last end time for closing the segment, not the
start time of the last buffer.
2009-12-09 20:42:44 +01:00
Sebastian Dröge
0766a54138
matroskademux: Close the segment on EOS if the real duration is known
2009-12-09 16:50:02 +01:00
Sebastian Dröge
5ca96043ff
matroskademux: Update duration if current buffer is already after the old duration
2009-12-09 16:46:18 +01:00
Sebastian Dröge
c9b1ab53fe
matroskademux: Drop buffers that are after segment stop
...
...and if this happened for all streams go EOS.
2009-12-09 16:43:41 +01:00
Sebastian Dröge
276a61ab2a
matroskademux: Fix position tracking and sending of filler segments
2009-12-09 16:41:04 +01:00
Sebastian Dröge
b0f8978fd8
videomixer: Use gst_util_uint64_scale_int() for fps to seconds per frame calculations
2009-12-09 16:15:09 +01:00
Sebastian Dröge
3ddb75e3c5
matroskademux: Keep the segment stop position for update newsegment events
2009-12-08 17:34:15 +01:00
Wim Taymans
ee6d7fd2db
avidemux: init current_entry in push mode
...
Set the current_entry to 0 (instead of -1) in push mode so that we correctly
calculate the current frame number and timestamp.
Add some more debug info and fic the duration debug.
2009-12-04 13:52:49 +01:00
Tim-Philipp Müller
24b93d82ec
rtspsrc: fix major memory leak when playing back rtsp video streams
...
Don't forget to unref QoS, navigation and latency events when
dropping them.
2009-12-04 11:14:03 +00:00
Tim-Philipp Müller
d0b25845ec
matroskademux: only send pending tags with newsegment events
...
Send pending tags only from the streaming thread, just after we've sent
the newsegment event, not with e.g. flush-start. This not only does the
right thing, but also makes sure we're not trampling over variables set
up in the streaming thread from the seeking thread in case someone tries
to issue a seek just as the demuxer is parsing the headers.
Fixes #601617 . Spotted by Ognyan Tonchev.
2009-12-04 11:13:31 +00:00
Thiago Santos
ff4ac9ddf6
qtdemux: fix debug message printf args
...
Fixes debug message printf format to make it build in mac's gcc
2009-12-03 17:49:55 -03:00
Aurelien Grimaud
07f27f0efd
rtpsession: avoid buffer ref/unref pairs for CSRCs
...
We ref the buffer before pushing it downstream in order to get the CSRCs of it
after pushing. This causes performance problems when downstream elements want to
change the metadata because the buffer needs to be subbuffered.
Instead, read and store the CSRCs of the buffer in an array before pushing it
and process the array after pushing the buffer. This allows us to remove the
ref/unref pair.
Fixes #603376
2009-11-30 15:59:50 +01:00
Mark Nauwelaerts
e49e71a1d9
rtph264depay: optionally merge NALUs into Access Units
...
... which may be expected/desired by some downstream decoders
(and spec-wise highly recommended for at least non-bytestream mode).
2009-11-26 17:29:26 +01:00
Mark Nauwelaerts
baa28ddedf
qtdemux: fix timestamp datatype
2009-11-26 17:29:03 +01:00
Wim Taymans
8070ae967b
jitterbuffer: avoid using wrong clock-rate
...
Check for a valid clock-rate before attempting to estimate the npt
stop time.
2009-11-25 10:38:23 -06:00
Wim Taymans
5682e2bf01
rtpbin: fix typo in comments
2009-11-25 10:37:30 -06:00
Michael Smith
9d6adc8f3c
multiudpsink: return error message on windows too.
2009-11-24 11:13:06 -08:00
Michael Smith
d4826d987c
multiudpsink: first phase of fixing up error reporting for windows.
2009-11-24 10:58:49 -08:00
Thiago Santos
b59dc3e5fb
avimux: also set the suggested buf size for audio
...
We were only setting the suggested buf size for video,
we can set it for audio as well.
This and 195e14529d80ef318ce3a778c1995efb11f266cd
fix an issue that prevented seeking on large avi files
on WMP (non-recent versions).
2009-11-24 12:44:57 -03:00
Thiago Santos
831b1e958a
avimux: fix indx duration for PCM audio
...
GstBuffers for PCM audio usually contains more than
1 sample, we need to get the total number of samples to set
the indx duration.
2009-11-24 12:44:56 -03:00
Thiago Santos
8dd78015f1
avimux: Audio buffers should be picked earlier
...
Adds a 0.5s advantage for audio buffers to being
picked earlier for muxing.
2009-11-24 12:44:56 -03:00
Robert Swain
98279be735
qtdemux: Fix push mode by making sure stbl information is available in
...
next_entry_size ()
2009-11-24 16:40:19 +01:00
Robert Swain
db5de8f1b6
qtdemux: Fix order of arguments in log message
2009-11-24 16:35:20 +01:00
Robert Swain
f9745e89d3
qtdemux: Ease debugging by removing a goto for an error message
2009-11-23 16:29:15 +01:00
Robert Swain
4025d7cbd7
qtdemux: Parse per sample rather than all at once but build complete index when
...
seeking
2009-11-23 16:29:15 +01:00
Robert Swain
0c62109d20
qtdemux: Save atom data for later use so it doesn't get freed after initial
...
parsing
2009-11-23 16:29:15 +01:00
Robert Swain
29c33806c1
qtdemux: Parse from the previously parsed sample up to sample n
2009-11-23 16:29:14 +01:00
Robert Swain
52b1040219
qtdemux: Make qtdemux_parse_samples () parse up to n samples
2009-11-23 16:29:14 +01:00
Robert Swain
1f7b878d89
qtdemux: Separate off stbl sub-atom initialisation
2009-11-23 16:29:14 +01:00
Robert Swain
6a6d2c4970
qtdemux: Move variables into context in preparation for refactorisation
2009-11-23 16:29:14 +01:00
Robert Swain
ab61fb22f6
qtdemux: Fix bug where stps is never parsed due to logic error
2009-11-23 16:29:14 +01:00
Robert Swain
a1e2047472
qtdemux: Port ctts from Gnode * to GstByteReader
2009-11-23 16:29:14 +01:00
Robert Swain
9e49197208
qtdemux: Switch from QtAtomParser to GstByteReader
2009-11-23 16:29:14 +01:00
Wim Taymans
5d41590601
qtdemux: fix typo and grammar
2009-11-23 12:53:50 +01:00
Tim-Philipp Müller
5908c40405
deinterlace: fix typo in mode enum description
2009-11-20 10:30:00 +00:00
Stefan Kost
9ee0815e85
docs: more links and better short description
...
Fix spelling of GstRtpSsrcDemux to get it linked. Add more links. Change
the short description to be more meaningful.
2009-11-20 11:25:49 +02:00
Thiago Santos
e35085e5b5
qtdemux: Add more fields to SVQ3 caps
...
qtdemux only added the whole stsd atom as 'codec_data'
in its output caps for SVQ3. This patch makes it add
the SEQH (inside a SMI atom) and a gamma field (taken
from the gama atom) if available.
Fixes #587922
2009-11-18 16:41:50 -03:00
Edward Hervey
f2f75d7fd9
wavenc: Raise rank of muxer to PRIMARY
2009-11-18 17:55:42 +01:00
Edward Hervey
8a1e0c53ae
y4m: Raise rank of encoder to PRIMARY
2009-11-18 17:54:36 +01:00
Edward Hervey
a5dd867d6f
law: Raise rank of encoders to PRIMARY
2009-11-18 17:54:35 +01:00
Bastien Nocera
efc611e420
Add user-id and user-pw properties
...
So that one doesn't need to modify the URL to have access
to authenticated RTSP streams.
fixes #601728
2009-11-18 17:27:19 +01:00
Mark Nauwelaerts
bf5f3a3964
qtdemux: fix bogus memory chunk size check
2009-11-18 12:54:48 +01:00
Wim Taymans
f52859432f
jitterbuffer: release lock before emiting signals
...
Release the jbuf lock before emiting the request-pt-map signal to avoid
deadlocks. We also need to catch the shutdown case when locking again.
Fixes #593354
2009-11-18 10:50:44 +01:00
Wim Taymans
8c3b03de26
rtp: add BroadcomVoice depayloader
2009-11-18 10:50:43 +01:00
Wim Taymans
039d225a78
rtpbvpay: add rfc reference
2009-11-18 10:50:43 +01:00
Wim Taymans
02476fb5a3
rtp: add BroadcomVoice payloader
2009-11-18 10:50:43 +01:00
Jan Urbański
dd82612340
flvmux: properly finish the ECMA array
...
The ECMA array with the file index was missing a mandatory end marker.
Fixes bug #601242 .
2009-11-18 08:03:43 +01:00
Jan Schmidt
baa79ffecb
Use new still-frame API from gst-plugins-base
2009-11-18 03:09:06 +00:00
Michael Smith
fe9415544e
qtdemux: identify IMA adpcm in qt properly.
2009-11-17 17:59:13 -08:00
Tim-Philipp Müller
4b1566d7f3
equalizer: printf format fix
2009-11-05 23:40:15 +00:00
Thiago Santos
feed8c2af3
avimux: do not write empty INFO list
...
avoid writing an empty INFO list chunk, both because
it is useless and because vlc refuses to play the
resulting file.
2009-11-05 12:31:56 -03:00
Sebastian Dröge
fb682d0444
equalizer: Notify about band property changes caused by changing number of bands
2009-11-05 10:54:12 +01:00
Sebastian Dröge
64e00f172c
equalizer: Make changes to band properties and the number of bands threadsafe
2009-11-05 10:45:59 +01:00
Sebastian Dröge
025e26f73a
equalizer: Fix stupid off by two bug
2009-11-05 10:30:46 +01:00
Sebastian Dröge
9405a328b1
equalizer: Add band property to select the band filter type
...
This allows per band configuration of a peak, low shelf or
high shelf filter, which can be very useful if the band frequencies
and widths are manually configured.
2009-11-05 08:21:33 +01:00
Sebastian Dröge
0525abd4af
equalizer: Fix code style
2009-11-05 08:21:33 +01:00
Sebastian Dröge
e1acc8f4da
equalizer: Some cleanup
2009-11-05 08:21:33 +01:00
Gabriel Millaire
773f142483
celtpay/depay : change GST_DEBUG_OBJECT to GST_LOG_OBJECT in pay_handle_buffer and depay_process
2009-11-04 12:02:50 -05:00
Gabriel Millaire
ac90398092
celtpay/depay: Negotiate parameters through caps
...
celtdepay : added default framesize(480) channels(1) and clockrate(32000)
depay_setcaps : now gets channels and framesize from string with default value
depay_process : now adds timestamp to outbuf
Added frame_size to GstRtpCeltDepay
Changed some GST_DEBUG to GST_DEBUG_OBJECT or GST_LOG_OBJECT
celtpay : getcaps : gets channel and framesize and sets caps
Added frame-size to static caps for audio/x-celt
2009-11-04 12:02:50 -05:00
Jan Schmidt
1636bb0800
deinterlace: Pull in CFLAGS and LIBS flags from -base before core before system.
2009-11-04 15:59:49 +00:00
Edward Hervey
8df3e5c22b
qtdemux: init variables to make compiler on osx build bot happy
2009-11-04 16:47:42 +01:00
Tim-Philipp Müller
261454dd92
qtdemux: init variables to make compiler on osx build bot happy
2009-11-03 16:05:47 +00:00
Tim-Philipp Müller
65a1db99eb
deinterlace: remove pointless call to gst_element_no_more_pads()
2009-11-02 08:45:53 +00:00
Stefan Kost
03d2f4bdec
level: fix decay to be smooth
...
The length not having any fractional part as it was promoted to gdouble after
dividing two guint64.
2009-11-01 00:31:48 +02:00
Stefan Kost
71044b37b6
level: calculate the message-intervall when it changes
2009-11-01 00:31:48 +02:00
Stefan Kost
f5b3392fa6
level: clocktime is a guint64, use right macro to init fields
2009-11-01 00:31:48 +02:00
Stefan Kost
519e424494
level: use more g-style types
2009-11-01 00:31:48 +02:00
Wim Taymans
0c12f585e3
avidemux: use segment_full when we can
...
Use segment_full so that we can pass the applied rate to the segment values. We
will change the applied rate when we implement skip mode.
2009-10-27 18:07:18 +01:00
Robert Swain
0cbe0d6e98
wavenc: Fix buffer offset by moving length incrementation
2009-10-27 12:43:33 +01:00
Michael Smith
b0b54d9324
Add dependencies of gstriff to things that link to gstriff, needed on Win32.
2009-10-23 18:09:43 -07:00
Stefan Kost
e43eb89449
tests: add a jitterbuffer test
...
Tests pushing a few buffers in various order and asserting the order sent by the
jitterbuffer. Contains two disabled tests that need more work.
2009-10-22 13:35:57 +03:00
Sebastian Dröge
68176befa2
matroskamux: Dirac "muxing" units end on EOS too
...
A Dirac muxing unit are all non-picture, non-end-of-sequence
packets up to and including the first picture or eos packet.
See http://www.diracvideo.org/wiki/index.php/ContainerFormatMappingGuidelines
2009-10-22 12:32:32 +02:00
Tim-Philipp Müller
457ac565ba
avidemux: fix compilation with debugging disabled
...
total_idx is always evaluated.
2009-10-22 02:09:08 +01:00
Edward Hervey
683f2a02fb
avidemux: Stop scanning at the last entry... and not the one before :)
...
This ensures we actually push out everything
2009-10-20 18:23:28 +02:00
Andy Wingo
c917d65e6d
qtdemux: unpack more information into image/x-j2c caps
...
* gst/qtdemux/qtdemux_fourcc.h: Add new fourccs for use by the mj2
unpacker.
* gst/qtdemux/qtdemux.c (qtdemux_parse_trak): Unpack JPEG2000 component
mapping and channel definitions from the jp2h header. Will add
component-map and channel-definitions elements to the caps if the
component maps or channel definitions are nonstandard, where standard
order means RGB, 444 packed YUV, or greyscale, with no alpha channel.
Fixes #598915 .
2009-10-20 17:20:55 +02:00
Stefan Kost
217b54a8f6
level: code cleanup
...
Use gdouble instead of double. Calculate falloff_time once instead of twice.
2009-10-18 23:53:42 +03:00
Edward Hervey
024f1bae0c
avidemux: MEMDUMP the junk blobs
...
It will only actually pull the junk blobs from upstream if the memdump
level is activated
2009-10-18 16:16:43 +02:00
Edward Hervey
1f5ace4de1
avidemux: Some avi files have INFO lists in the headers.
2009-10-18 16:16:43 +02:00
Edward Hervey
6e849f84fc
avidemux: Don't seek on empty streams
2009-10-18 16:16:43 +02:00
Edward Hervey
a6ed612f42
avidemux: Ensure _calculate_durations_from_index only uses valid streams
2009-10-18 16:15:08 +02:00
Edward Hervey
1936d6ed26
avidemux: Only call convert function if we have strf.auds
2009-10-18 16:15:08 +02:00
Edward Hervey
af99a4a1de
avidemux: Use first indexed stream for seeking.
...
In the future, main_stream can be adjusted to contain the optimal stream
as mentionned in the FIXME line 3440
2009-10-18 16:15:05 +02:00
Edward Hervey
2110cbe556
avidemux: Only expose streams that actually have something in it.
...
This guarantees that in pull-mode, all streams have a valid index to
work with.
2009-10-18 16:14:40 +02:00
Edward Hervey
546aa4c4dd
avidemux: Properly mark presence of index.
...
Instead of blindly saying we have an index, only do so if we have a
non-empty index.
2009-10-18 15:40:37 +02:00
Mark Nauwelaerts
3d0659b813
debugutils: register pushfilesrc element
2009-10-16 18:19:20 +02:00
Mark Nauwelaerts
8f2beb5e51
avimux: support (some) VBR audio muxing
...
AVI format can handle VBR audio provided audio chunks are of fixed duration
(cfr fixed duration video frames). Apply this approach to (always) parsed
raw AAC and (if parsed) to MPEG-1/2 audio.
See #368681 .
2009-10-16 17:31:02 +02:00
Stefan Kost
6904e46ef2
build: use gst-glib-gen.mak to fix the glib build rules.
...
The build rules in glib-gen.mak were using pattern rules in a non save way.
2009-10-16 11:53:38 +03:00
Mark Nauwelaerts
7ceeb14834
avidemux: adjust flow return aggregation to updated loop_data
...
In particular, each stream is now treated separately, and one stream's
EOS should not lead to overall EOS.
2009-10-15 21:32:08 +02:00
Mark Nauwelaerts
354a062c89
qtdemux: check some more atom sizes prior to parsing
2009-10-15 17:06:41 +02:00
Wim Taymans
6725c91387
rtsp: handle events in TCP mode
...
We need to handle events in TCP mode so that we can reply to the LATENCY event
with TRUE.
2009-10-15 13:20:26 +02:00
Mark Nauwelaerts
f071ff6993
avidemux: add missing argument in debug message
2009-10-15 11:26:09 +02:00
Wim Taymans
88884cfddb
rtspsrc: forward events into the rtpbin
...
Only catch the SEEK event on the srcpad and let other events enter the rtpbin.
2009-10-14 17:01:51 +02:00
Thiago Santos
959a3f9c95
matroskademux: Fix late tags finding
...
Use the correct taglist variable when notifying of late tags.
2009-10-14 11:33:24 -03:00
Mark Nauwelaerts
0141934eec
avidemux: use GstIndex for (limited) seeking in push mode
...
... but disable this for now. Although it basically works fine,
user experience might be shaky (depending on taste), since there
is no keyframe info in push mode.
2009-10-14 13:15:09 +02:00
Mark Nauwelaerts
35dc28d69a
avidemux: add GstIndex support
2009-10-14 13:15:06 +02:00
Mark Nauwelaerts
92dd51e511
avidemux: also determine duration in push mode
2009-10-14 13:15:04 +02:00
Mark Nauwelaerts
e967767b27
qtdemux: add GstIndex support
2009-10-14 13:15:02 +02:00
Håvard Graff
58b9de4cca
rtpptdemux: only forward the lost-event to the last seen pt-number
...
forward all events on all pads except for the PacketLost event, which we want to
forward to the last seen pt pad.
Fixes #598377
2009-10-14 12:28:55 +02:00
Wim Taymans
daa6d8f206
avidemux: demote some warnings to debug
2009-10-13 18:19:32 +02:00
Wim Taymans
9aa151a661
avi: add new avi flag we might want to use
2009-10-13 17:48:51 +02:00
Wim Taymans
df0335e65b
avimux: calculate suggested buffer size
...
Calculate the suggested buffer size based on the largest chunk in the file.
See #597847
2009-10-13 17:48:51 +02:00
Wim Taymans
b134ca31fa
avimux: add jpeg2000 to allowed caps
2009-10-13 17:48:51 +02:00
Wim Taymans
aea78a75ac
avidemux: add debug for the superindex offsets
2009-10-13 17:48:50 +02:00
Jan Schmidt
99f43dbb58
qtdemux: Fix uninitialized variable warning
...
Fix another bogus may-be-used-uninitialized warning in qtdemux
2009-10-13 16:03:13 +01:00
Wim Taymans
50110d022d
avi: lower max file size
...
Make a constant of the max file size and lower the value to what ffmpeg does,
hopefully improving compatibility with windows media player.
See #597847
2009-10-13 13:08:33 +02:00
Jan Schmidt
42b09362f6
qtdemux: Fix uninitialized variable warnings
...
The gcc on the OS/X buildbot complains about these variables not being
initialized, even though they can't possibly actually be used
uninitialized.
2009-10-13 00:12:42 +01:00
Mark Nauwelaerts
6f34e2b0db
qtdemux: also consider Quicktime text subtitles
2009-10-09 17:49:20 +02:00
Mark Nauwelaerts
955a719c1a
qtdemux: provide language tag for stream
2009-10-09 17:49:17 +02:00
Mark Nauwelaerts
1210a92ff6
qtdemux: refactor common parts in track parsing
2009-10-09 17:49:14 +02:00
Mark Nauwelaerts
5ed2c3e562
qtdemux: refactor buffer processing and sending
...
... so it can be used in both pull and push based mode.
2009-10-09 17:49:12 +02:00
Mark Nauwelaerts
674b0c4289
qtdemux: extract palette data for dvd subpicture streams
...
... and send it downstream using custom dvd event
2009-10-09 17:49:10 +02:00
Mark Nauwelaerts
b2d70862e8
qtdemux: support 3GPP timed text subtitles
...
In particular, also make subtitle support less subp(icture)-centric.
2009-10-09 17:49:06 +02:00
Mark Nauwelaerts
faaa32dccb
qtdemux: NULL is not a valid taglist
2009-10-09 17:49:04 +02:00
Mark Nauwelaerts
533106203c
qtdemux: recognize some more encypted track cases
2009-10-09 17:49:02 +02:00
Josep Torra
114dbba7ad
id3: fixes warnings building on macosx
...
Another round on the formating of that debug line.
2009-10-09 15:59:25 +02:00
Stefan Kost
53cb3e2716
id3: cast pointer math results to glong
2009-10-09 14:44:02 +03:00
Stefan Kost
f854836f5c
buikd: explicitely cast, to tell some compilers that this is not long int
2009-10-09 14:21:09 +03:00
Stefan Kost
f41d7e7bd5
build: don't cast, but use the right format specified instead
...
This correct some of the previous macos fixes.
2009-10-09 13:54:24 +03:00
Josep Torra
863233abf5
rtpvrawpay: fix warning on macosx
2009-10-09 12:01:10 +02:00
Josep Torra
a1fbe64317
rtph263pay: fix warning on macosx
2009-10-09 11:57:59 +02:00
Josep Torra
c3d3eb6c3b
qtdemux: fix warnings building on macosx
2009-10-09 11:54:03 +02:00
Josep Torra
093546ba74
id3demux: fix printf warnings on macosx
2009-10-09 11:43:45 +02:00
Josep Torra
28ccc40bab
avidemux: fix warning in macosx making the format portable
2009-10-09 11:43:44 +02:00
Josep Torra
00aa3421e0
audiofx: use G_GUINT64_FORMAT to fix warnings on OSX
2009-10-09 11:43:44 +02:00
René Stadler
c40cb18762
matroskademux: fix strstr() usage on possibly unterminated string
2009-10-08 23:31:07 +03:00
Jan Schmidt
cdb0b68e21
avi/wav: Fix some compiler warnings about incompatible pointers.
2009-10-08 10:20:09 +01:00
Jan Schmidt
db6af4bd57
multifile: Fix plugin description
2009-10-07 23:42:48 +01:00
Stefan Kost
e0cdd879b4
build: fprintf, sprintf, sscanf need stdio.h
2009-10-07 14:03:20 +03:00
Stefan Kost
27ea0b076a
equalizer: use shelfing filters for first and last band
...
Refactor the filter setup. Add two new filters with shelf characteristics for
first and last band. Change gain calculation as recommended in the quoted
document (no qrt needed). Rename variables to match the formulas in the
document.
2009-10-07 00:35:27 +03:00
Stefan Kost
7b6e594b69
equalizer: fix filter history usage. Fixes #597397
...
The process functions where overwriting the history for each channel. Also pull
some static things out of the inner loop.
2009-10-05 23:04:39 +03:00
Wim Taymans
0040d01265
rtpbin: use locking around the sessions
2009-10-05 16:07:24 +02:00
Tim-Philipp Müller
45ff905771
qtdemux: make sure compatible brands buffer exists before dereferencing it
2009-10-05 11:46:08 +01:00
Robert Swain
c7b5df91a9
qtdemux: fix printf warnings on OSX
...
Cast variables passed to printf to avoid warnings about incorrect
formats (most likely caused by sizeof returning a size_t).
Fixes #597348 .
2009-10-05 00:35:15 +01:00
Tim-Philipp Müller
4590daf202
qtdemux: remove internal genre table
...
No need to maintain our own genre table in qtdemux. The genres are
identical to the ID3 genres, so we can just use libgsttag's
gst_tag_id3_genre_get() to look them up.
2009-10-05 00:26:44 +01:00
Robert Swain
c45c304a7e
Fix printf formats to avoid warnings in avidemux. Fixes #597214
...
https://bugzilla.gnome.org/show_bug.cgi?id=597214
2009-10-03 17:25:19 +02:00
Sebastian Dröge
650292706d
matroskademux: Change one GST_WARNING to a GST_DEBUG
2009-10-03 12:21:34 +02:00
Sebastian Dröge
48b784e715
flvdemux: If there's no audio stream after 6 seconds of video signal no-more-pads
...
...and the other way around. Also ignore any audio/video streams that appear
after no-more-pads.
Fixes bug #597091 .
2009-10-03 12:21:34 +02:00
Sebastian Dröge
f84bc538b5
flvdemux: Make sure to only signal no-more-pads a single time
2009-10-03 12:21:34 +02:00
Stefan Kost
d1d126b5b4
rtp: add missing include to fix the build
2009-10-02 18:25:16 +03:00
Stefan Kost
da05a85455
videofilter: add G_OBJECT_WARN_INVALID_PROPERTY_ID to property setter
2009-10-02 13:44:41 +03:00
Stefan Kost
948d5168ce
level: don't give wrong number of fields in the message docs
2009-10-02 13:44:41 +03:00
Wim Taymans
8fb77403c5
jitterbuffer: cache latency in nanoseconds
...
Cache the latency in nanoseconds units to avoid having to convert the
milliseconds value to nanoseconds all the time.
2009-10-01 12:52:40 +02:00
Wim Taymans
c262735164
jitterbuffer: handle -1 input timestamps
...
Don't try to check a -1 timestamp against the max delay.
2009-10-01 12:12:09 +02:00
Stefan Kost
458cd4dcdc
avi: don't misues perf-category and remove unused ext category
...
The performance category is meant to be used to audit codepaths that lead to bad
performance (e.g. copies, conversion that can be avoided).
Remove the event category which is not used.
2009-10-01 10:57:42 +03:00
Olivier Crête
00db9a585b
rtpg729pay/depay: Demote per-buffer debug messages to log level
2009-09-30 20:36:05 -04:00
Olivier Crête
165516f0ef
rtpg729pay: Don't leak incoming buffers after subbuffering them
2009-09-30 20:36:05 -04:00
Olivier Crête
680c97a7ca
rtpg729pay/depay: Add debug categories
2009-09-30 20:36:05 -04:00
Olivier Crête
1ba7693f7a
rtpg729pay: Remove long unneeded define replacement
2009-09-30 20:36:05 -04:00
Wim Taymans
3f263edbbf
avi: small cleanups
2009-09-28 22:18:25 +02:00
Wim Taymans
217315c20b
avi: fix timestamping in some audio streams
...
For vbr audio streams we need to use the number of blocks to calculate the
timestamps.
When the allocation of additional index memory fails, don't throw away what
we had before.
Various cleanups.
2009-09-28 22:17:02 +02:00
Wim Taymans
7b9b8343ba
avi: add support for ODML indexes again
2009-09-28 22:17:00 +02:00
Wim Taymans
ceb7d66e25
avi: implement index scanning
...
Implement scanning of the file when we can parse the index.
Some refactoring of common code.
Cleanups and comments.
Remove some reimplemented code.
Remove index massage code and put a FIXME where we should do something
equivalent later.
2009-09-28 22:16:57 +02:00
Wim Taymans
8aa3830852
avi: fix reverse playback
2009-09-28 22:16:55 +02:00
Wim Taymans
3338f91cfe
avi: fix prev keyframe search and cleanups
2009-09-28 22:16:53 +02:00
Wim Taymans
1b325945e5
avi: remove code that got converted
2009-09-28 22:16:50 +02:00
Wim Taymans
c199b1d039
avi: more cleanups
...
Remove some duplicate counters.
Be smarter when updateing the current the timestamp and offset in the stream
because we can reuse previously calculated values when simply go forward one
step.
Correctly set metadata on outgoing buffers.
2009-09-28 22:16:48 +02:00
Wim Taymans
0d70fe30a8
avidemux: small cleanups
2009-09-28 22:16:46 +02:00
Wim Taymans
b4a490655a
avi: fix read offset and cleanups
2009-09-28 22:16:43 +02:00
Wim Taymans
9c37611dfa
avi: rewrite index playback
...
disable code, start on reimplementing loop based operation.
Rewrite the index handling so that all streams use their own index for decoding
media.
2009-09-28 22:16:41 +02:00
Wim Taymans
89bcbbbe7c
avidemux: add new index parsing code
...
Add a new function and datastructure to parse and hold the index entries on a
per stream base. Also avoid doing too much work trying to figure out the
timestamps and durations as we can trivially do that later.
Less information in the entries makes them 2 times smaller and not doing too
much work makes this code about 12 times faster than the regular case.
Hook in the new function alongside the existing function for comparison until
the rest of the code is updated to handle the new index datastructure.
2009-09-28 22:16:38 +02:00
Mark Nauwelaerts
0fac7b5347
qtdemux: some optional QT specified stsd MPEG-4 atoms also apply to H264
...
Fixes #596319 .
2009-09-25 19:23:15 +02:00
Mark Nauwelaerts
e21d16a4f8
qtdemux: only send tag events downstream after newsegment
2009-09-25 16:47:42 +02:00
Mark Nauwelaerts
50d5c8dce5
rtspsrc: if transport protocol unsupported, try another one
...
Also change error message to more accurately reflect cases in which
it can occur.
2009-09-25 16:47:39 +02:00
Wim Taymans
03f46a42e5
qtdemux: add durations modulo 1<<32
...
For calculating the durations of each sample, we are supposed to add each
duration modulo 1<<32 so make the elapsed time counter a uint32.
Fixes #595942
2009-09-25 11:54:06 +02:00
Wim Taymans
4e114a2b24
qtdemux: small cleanup
2009-09-24 20:38:54 +02:00
Tim-Philipp Müller
01e00ba1cd
qtdemux: don't use core API that doesn't exist yet
...
There's no gst_byte_reader_has_remaining() yet. Fixes build.
2009-09-24 19:33:39 +01:00
Tim-Philipp Müller
fab4113c24
qtdemux: map some atomparser functions to their new bytereader equivalents
...
Now that GstByteReader has unchecked and inlined variants as well, map
atomparser functions to their respective bytereader equivalents.
2009-09-24 16:34:08 +01:00
Tim-Philipp Müller
0f197776e1
qtdemux: add qt_atom_parser_has_chunks() and fix indentation
2009-09-24 16:32:02 +01:00
Tim-Philipp Müller
f65e6ea3a1
qtdemux: bail out instead of trying to alloc silly index sizes
...
If it looks like we would be allocating a silly size for our sample
index, just bail out instead of trying to allocate it. Helps with
broken or fuzzed files where we might end up trying to malloc a
couple of hundred MBs otherwise.
2009-09-24 16:29:26 +01:00
Tim-Philipp Müller
abaf91e428
qtdemux: error out correctly if we don't even have enough bytes for an atom header
2009-09-24 16:29:25 +01:00
Tim-Philipp Müller
25db7df49b
qtdemux: init fourcc to 0 as well to avoid invalid reads when printf'ing error message
2009-09-24 16:29:25 +01:00
Tim-Philipp Müller
9da3ed6491
qtdemux: add qt_atom_parse_has_remaining() to avoid overflows with _get_remaining()
2009-09-24 16:28:40 +01:00
Tim-Philipp Müller
a16feec38e
qtdemux: use GstByteReader when parsing tkhd atom
2009-09-23 16:54:43 +01:00
Tim-Philipp Müller
6b7f4f5e23
qtdemux: use unsigned ints for node length and do more sanity checking of the atom length
2009-09-23 16:54:43 +01:00
Tim-Philipp Müller
3abeb1e578
qtdemux: use GstByteReader for atom dumping and fix a few bugs
2009-09-23 16:54:42 +01:00
Tim-Philipp Müller
c8c9b0f35d
qtdemux: move stco, stts, stss and stps atom parsing over to GstByteReader
...
Make sure we don't read beyond the atom boundary. Note that the code
behaves slightly differently in the corner case where there is not
enough atom data for the specified number of samples (n_samples_time)
in the atom, but still enough data to fill the pre-allocated index of
n_samples entries: before we would just stop parsing the stts data
and continue, whereas now we will likely error out. This should not
be a problem in practice though. We could maintain the old behaviour
by doing reads with a size check inside the loop if needed.
2009-09-23 16:54:42 +01:00
Tim-Philipp Müller
4be46b1586
qtdemux: use bytereader to parse stsz and stsc atoms
...
Use GstByteReader to parse stsz and stsc chunks, and check size of
available data before parsing it, instead of blindly assuming there
will be enough data. Fixes crashes with some fuzzed/broken files.
2009-09-23 16:54:42 +01:00
Tim-Philipp Müller
5875e2016a
qtdemux: add qt_atom_parser_get_offset() and optimise _peek_sub()
2009-09-23 16:54:42 +01:00
Tim-Philipp Müller
410ebb7eb3
qtdemux: add QtAtomParser, an inlined GstByteReader variant
2009-09-23 16:54:41 +01:00
Mark Nauwelaerts
02581dd2a5
matroskademux: use proper order for no-more-pads and newsegment and tag sending
2009-09-23 17:24:22 +02:00
Mark Nauwelaerts
702df566c3
matroskademux: sprinkle a few branch prediction macros
2009-09-23 17:24:22 +02:00
Alessandro Decina
195883b30a
Fix compile warnings with gcc 4.0.1.
2009-09-22 15:04:36 +02:00
Jan Schmidt
600516be90
matroskamux: Don't get stuck in an infinite loop with Dirac
...
At the end, Dirac streams have an EOS packet with 0 length.
Don't ever sit in an infinite loop when processing one. Allows
muxing Dirac into mkv to complete successfully.
2009-09-22 11:50:11 +01:00
Tim-Philipp Müller
0506545b04
videomixer: fix up Makefile some more
...
Remove CFLAGS from LIBADD and make order of the various CFLAGS and
LIBS at least consistent with each other.
2009-09-22 11:02:02 +01:00
Brian Cameron
341be447a6
videomixer: Add $(GST_PLUGINS_BASE_LIBS) to LDFLAGS for linking libgstvideo
...
Fixes bug #595897 .
2009-09-22 08:09:39 +02:00
Wim Taymans
10eb1a0ff4
avi: fix timestamps in push mode
2009-09-21 18:10:12 +02:00
Wim Taymans
2f26ee4285
avi: add some performance measurements
...
Measure the performance of various index and header parsing steps to the
PERFORMANCE debug category.
2009-09-21 12:32:51 +02:00
Stefan Kost
0868ddf30f
avidemux: some logging cleanup to help understanding the index parsing overhead
2009-09-18 14:27:45 +03:00
Olivier Crête
750387f520
rtpg729pay: Fix adapter leak
...
The adapter would be leaked if it was empty and the data could be pushed out directly.
2009-09-15 17:24:24 -04:00
David Schleef
78eeb6636e
multifilesink: Add next-file property
...
Add a property to allow control over what event causes a file
to finish being written and a new file start. The default is
the same as before -- each buffer causes a new file to be
written. Added is a case where buffers are written to the
same file until a discontinuity in the stream.
2009-09-13 20:00:53 -07:00
Michael Smith
3257374310
wavparse: treat a zero-sized data chunk as extending to the end of the file.
...
This fixes playback of some files that don't have a valid data chunk length,
apparently some program creates these.
2009-09-11 13:34:01 -07:00
Wim Taymans
445236a769
spectrum: add post-messages property
...
Add a post-messages property and deprecate the less descriptive message
property.
2009-09-11 13:28:35 +02:00
Wim Taymans
1935483fbf
multifilesink: rename silent to post-messages
...
Use the post-messages property name instead of silent as it is more
descriptive.
2009-09-11 13:12:54 +02:00
Wim Taymans
f68cd7e708
multifilesink: post messages for each buffer
...
Add a silent property that can be set to FALSE to post messages on the bus for
each written file.
Do some more cleanups.
Add some docs.
Fixes #594663
2009-09-11 12:17:21 +02:00
Olivier Crête
411c71da13
rtph263pay: Allocate Boundry structs on the stack instead of the heap to avoid leaks
...
Fixes bug #594691 .
2009-09-11 07:31:38 +02:00
Stefan Kost
0a7ef67ad0
docs: fix gtk-doc warnings
2009-09-10 10:28:48 +03:00
Sebastian Dröge
a9909c1abf
videobox: Fix AYUV->I420 conversion
...
For this fix the averaging of the chroma values. It should't be (a/2 + b)/2
but just (a + b)/2.
Fixes bug #594599 .
2009-09-09 16:28:53 +02:00
Marc-André Lureau
fe2d8bdc64
multipartmux: mark data buffer as delta-unit
...
So that multifdsink always start sending header buffer first
Fixes #594520
2009-09-08 18:34:49 +02:00
Marc Leeman
6b46aeb6a3
rtpbin: add ignore-pt parameter
...
Add a parameter 'ignore-pt' that disables creating a gstrtpptdemux module and
ghosts the pads of gstrtpjitterbuffer instead of the ones of gstrtpptdemux.
Fixes #594490
2009-09-08 17:38:32 +02:00
Håvard Graff
2912b21d14
rtpbin: propagate payload-type-change signal from demuxer
...
fixes #594254
2009-09-08 13:59:56 +02:00
Havard Graff
a52309eff7
jitterbuffer: change severity of clock-rate change debug
...
Make log GST_DEBUG under normal circumstances, GST_WARNING otherwise.
Fixes #594253
2009-09-08 13:44:49 +02:00
Håvard Graff
40549278c3
jitterbuffer: avoid throwing reordered buffers with same timestamps
...
When we receive a reordered packet with the same timestamp as the previous one
(which can happen for fragmented packets) don't consider the packet as lost but
instead wait for the reordered packet to arrive.
Switch the warning-level, so that a reordering does not get a warning, only
an actual produced lost-packet.
Fixes #594251
2009-09-08 13:39:31 +02:00
Havard Graff
6108024838
rtpjpegdepay: add missing math.h include
...
Fixes #594247
2009-09-08 13:32:51 +02:00
Arnout Vandecappelle
19455200b1
rtspsrc: fix memory leak
...
In gst_rtspsrc_parse_digest_challenge(), rtspsrc does a g_strndup of the auth
header items and then passes them to gst_rtsp_connection_set_auth_param()
without freeing.
Fixes #594133
2009-09-08 13:30:29 +02:00
Stig Sandnes
8f3299c547
rtpbin: make free_session() remove stream references
...
When receiving a sync-packet, all sessions with the same cname will be compared
and synced together. In this process, there could still be references to a
session that has been shut down in the meanwhile.
This patch makes sure that these references are removed when shutting down a
session, so that the syncing can be done safely.
Fixes #594283
2009-09-08 13:18:29 +02:00
Havard Graff
e08e610db0
rtpbin: use locked state on internal bins
...
Set the locked state on internal elements to make sure that they don't change
back to another state when shutting down.
Fixes #594248
2009-09-08 12:41:52 +02:00
Zaheer Merali
c6b2dff77e
y4menc: Add interlaced support
...
Fixes #591713
Signed-off-by: David Schleef <ds@schleef.org>
2009-09-05 20:53:10 -07:00
David Schleef
55d2754098
Remove Ronald Bultje from Authors field
...
Replaced with "GStreamer maintainers
<gstreamer-devel@lists.sourceforge.net>" or just removed,
depending on the number of other authors.
2009-09-05 20:53:10 -07:00
Mark Nauwelaerts
868a4b1303
qtdemux: prevent a spurious debug warning
2009-09-04 13:51:25 +02:00
Sebastian Dröge
b35b752c41
matroskademux: Correctly handle NULL GstIndex
2009-09-04 07:10:03 +02:00
Laurent Glayal
371875c57a
rtpsource: fix memleak
...
Don't leak the input buffer when the received and expected seqnum are different when
in probation.
fixes #594039
2009-09-03 19:37:10 +02:00
Olivier Crête
f542f710cf
rtpjitterbuffer: Lock clock_rate variable
...
The priv->clock_rate variable could become -1 between when its checked to not
be -1 and when its used, causing an assertion. Fixed by taking the mutex
earlier in the chain() function.
Fixes #593955
2009-09-03 19:17:00 +02:00
Wim Taymans
3fcde4486d
rtpsource: whitespace fixes
2009-09-03 19:17:00 +02:00
Wim Taymans
bf73a6ee3a
rtpmpapay: whitespace fixes
2009-09-03 19:17:00 +02:00
Wim Taymans
3f629f6001
rtpsession: whitespace fixes
2009-09-03 19:16:59 +02:00
Stefan Kost
272683ff36
flvmux: fully use tagsetter to manage the tags. Fixes #563221
...
There is no need to manage a separate taglist.
2009-09-03 14:48:14 +03:00
Peter Kjellerstedt
fdf18653b7
rtpmanager: Fixed a copy & paste error
2009-09-01 15:06:46 +02:00
Peter Kjellerstedt
dc4f9575be
rtpmanager: Removed unused variable priv
...
The variable priv was initialized in a lot of functions but then never
used for anything.
2009-09-01 13:21:23 +02:00
Peter Kjellerstedt
57adc2a803
rtpmanager: A little clean up
...
Make the code flow of gst_rtp_session_send_rtcp() and
gst_rtp_session_sync_rtcp() identical.
2009-09-01 13:04:14 +02:00
Peter Kjellerstedt
923b5b495a
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().
2009-09-01 13:04:14 +02:00
Wim Taymans
8d924611e7
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
2009-09-01 12:48:28 +02:00
Peter Kjellerstedt
bfb1260af4
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.
2009-09-01 11:32:41 +02:00
Sebastian Dröge
e7efa0a5be
qtdemux: Add support for QCELP audio
...
Fixes bug #593757 .
2009-09-01 10:26:46 +02:00
Peter Kjellerstedt
fbefd9c666
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 .
2009-08-31 18:11:28 +02:00
Mark Nauwelaerts
c9a434bbff
rtpmp4gdepay: consider (optional) auxiliary data when parsing
2009-08-31 16:50:01 +02:00
Mark Nauwelaerts
30efa405f3
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.
2009-08-31 16:50:01 +02:00
Mark Nauwelaerts
15fa7d33ed
qtdemux: also extract ftyp info in push mode
2009-08-31 16:50:01 +02:00
Mark Nauwelaerts
c469f6b38d
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.
2009-08-31 16:50:00 +02:00
Mark Nauwelaerts
0f900afe1f
wavparse: reflow exit, and fix some leaks
2009-08-31 16:50:00 +02:00
Mark Nauwelaerts
efb5d1b545
wavparse: push mode; add pad if needed so downstream gets EOS
2009-08-31 16:50:00 +02:00
Mark Nauwelaerts
79f69bbf72
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.
2009-08-31 16:50:00 +02:00
Mark Nauwelaerts
bb2b02c5b7
avidemux: push mode; cater for unusual chunk sizes
2009-08-31 16:50:00 +02:00
Wim Taymans
a74c385b7b
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
2009-08-31 16:38:27 +02:00
Wim Taymans
a522a2d4d2
rtpbin: whitespace fixes
2009-08-31 16:33:26 +02:00
Tim-Philipp Müller
4cf513da9b
wavparse: clean up adapter properly
...
Reflow code so we don't try to clear or re-use an already-freed adapter.
2009-08-31 13:40:14 +01:00
Tim-Philipp Müller
d875e72b02
flactag, wavparse: GstAdapter is not a GstObject
2009-08-31 13:07:53 +01:00
Jan Schmidt
3f69f8d3ee
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.
2009-08-31 12:10:05 +01:00
Wim Taymans
a26a2a9ff5
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.
2009-08-31 13:02:16 +02:00
Wim Taymans
4814d899c2
jitterbuffer: reset skew when timestamps change
...
Refactor the jitterbuffer resync code.
Reset the skew correction when we detect a big timestamp discont.
See #593354
2009-08-31 12:57:32 +02:00
Wim Taymans
e254936e34
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
2009-08-31 12:47:15 +02:00
Jarkko Palviainen
1f14f577d8
udpsink: Add ttl multicast property
...
Add a new ttl-mc property to control the TTL on multicast addresses.
Fixes #588245
2009-08-31 12:16:01 +02:00
Jarkko Palviainen
e2518fedbe
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
2009-08-31 12:13:07 +02:00
Wim Taymans
6a53d0a2c9
rtp: whitespace fixes
2009-08-31 11:32:06 +02:00
Sebastian Dröge
867b8c9d15
videobox: Split declarations into a header file and add autocrop stuff to the docs
2009-08-31 08:19:25 +02:00
Sebastian Dröge
6976f3d39a
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.
2009-08-31 08:19:25 +02:00
Stephen Jungels
041ddd6f8f
videobox: Add support for autocropping according to the caps
...
Fixes bug #582238 .
2009-08-31 08:19:25 +02:00
Sebastian Dröge
041fa82179
rtpsession: Make sure that used caps are not freed already
...
Fixes bug #593391 .
2009-08-31 08:09:09 +02:00
Sebastian Dröge
000a483d31
rtp: Use new gst_iterator_new_single() for the internal linked pads iteration
2009-08-31 08:09:09 +02:00