Commit graph

3616 commits

Author SHA1 Message Date
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