Commit graph

2900 commits

Author SHA1 Message Date
Sebastian Dröge
356972740a videomixer: Make checker pattern lookup table constant 2009-07-08 18:19:45 +02:00
Sebastian Dröge
69f9b7c8d6 videomixer: Add support for ARGB
And clean up the caps parsing.
2009-07-08 18:17:48 +02:00
Benjamin Gaignard
abd383a2a6 udp: Initialize pointer to NULL
Otherwise we're calling free() with some random
memory address in error cases.

Fixes bug #587982.
2009-07-08 15:19:03 +02:00
Mark Nauwelaerts
977796fd07 qtdemux: sprinkle some more const 2009-07-08 11:20:30 +02:00
Mark Nauwelaerts
a4d586daac qtdemux: perform some more (careful) data buffering
Once buffering has started (with an mdat atom), continue buffering
until moov atom is reached, which handles cases with multiple
mdat atoms.  Also keep adapter/offset better in sync with upstream
and fix some debug statements.  Fixes #587426.
2009-07-08 11:20:27 +02:00
Philip Jgenstedt
0ebff2d14c avidemux: Replace deprecated GST_DISABLE_DEBUG with correct macro. Fixes #587826 2009-07-06 10:40:31 +02:00
Tim-Philipp Müller
2bcf52dde7 qtdemux: error out instead of dividing by 0
Error out if timescale is 0.
2009-07-01 13:07:48 +01:00
Tim-Philipp Müller
f6a1211495 Revert "qtdemux: Make sure we don't blacklist streams by wrongly comparing their"
This reverts commit 5503a59a57.

Reverting this since it causes regressions with a lot of sample files
I have, all of which worked fine with the last -good release (#586891).
2009-07-01 09:32:42 +01:00
Tim-Philipp Müller
ae27524be0 qtdemux: comment out unused structure 2009-07-01 09:24:38 +01:00
Tim-Philipp Müller
8fa148d2f1 qtdemux: more size checks, and use g_try_new0() instead of g_new0()
Whenever we alloc something based on a user-supplied size, we should
really use g_try_new(), otherwise we can easily be made to abort by
passing a ridiculously large number to us for allocing. Fixes
problems with some fuzzed files.
2009-07-01 09:24:38 +01:00
Tim-Philipp Müller
405aae4568 qtdemux: guard against bogus atom sizes and short reads
Check the possibly 64-bit atom size more carefully before casting it
to an int and passing it to gst_pad_pull_range(), otherwise we might
end up pulling 0 bytes, getting an empty buffer as requested and
dereferencing not available data whilst thinking we actually asked
for and got 0x1000000000000 bytes. Similar fix for push mode operation
where neededbytes ends up being 0 bytes, which makes us assert. Fixes
crash with broken or fuzzed file (NB #122378).
2009-07-01 09:24:38 +01:00
Tim-Philipp Müller
c730912f67 qtdemux: use 0x prefix when logging numbers in hex 2009-07-01 09:24:38 +01:00
LRN
122d40a742 Don't use sendmsg()-dependent code on Windows
Fixes #585842
2009-06-30 20:38:33 +02:00
Wim Taymans
89f0c37c9f law: fix caps and negotiation
Fix the caps to include the depth (instead of width twice) in the caps of
audio/x-raw-int.
Fix negotiation to not only copy the rate/channels of the first structure.
2009-06-30 15:59:20 +02:00
Tim-Philipp Müller
1fb30a154a qtdemux: don't process track_num/track_count tags with a 0 value
Number/count values of 0 mean they're not set. Don't put those in the
taglist.
2009-06-26 13:29:27 +01:00
Julien Moutte
5503a59a57 qtdemux: Make sure we don't blacklist streams by wrongly comparing their
duration with entire clip duration.
2009-06-25 13:23:40 +02:00
Krzysztof Błaszkowski
9fbdfefc56 rtpdec: fix some buffer leaks 2009-06-25 13:18:14 +02:00
Edward Hervey
32a3d6e717 flvparse: Add missing break in switch/case. 2009-06-25 08:11:09 +02:00
Edward Hervey
67ca4c57b1 flvdemux: Remove unused variable, hint branch likeliness, add comments. 2009-06-25 08:10:38 +02:00
Edward Hervey
ff3730fb7b avidemux: Removed unused variable 2009-06-25 08:09:57 +02:00
Edward Hervey
4780d17894 qtdemux: Remove dead assignments and unused variables.
Also add branch likeliness macros.
2009-06-25 07:41:44 +02:00
Edward Hervey
b9d7f2527e qtdemux: Fix uninitialized variables. Fixes build on macosx 2009-06-25 07:41:43 +02:00
Tim-Philipp Müller
632bb7818a avidemux: short-circuit gst_avi_demux_src_convert() when parsing the index
Don't call gst_avi_demux_src_convert() for each single index entry. Not
only do we already have the pointer to the stream context, we also know
the formats we want to convert from and to already, so we may just as
well use optimised conversion routines that bypass some of the checks
and lookups made in gst_avi_demux_src_convert().
2009-06-24 13:04:01 +01:00
Edward Hervey
86c2299ed1 qtdemux: Another round of G_*LIKELY micro-optimisations. 2009-06-24 12:48:32 +02:00
Edward Hervey
30dd458567 qtdemux: Take last sample duration for dummy segment calculation.
This fixes the cases where files without EDL wouldn't output their
last buffer.
2009-06-24 12:48:32 +02:00
Edward Hervey
4e6808bc52 avidemux: Sprinkle branch likeliness macros over the code. 2009-06-24 12:37:39 +02:00
Edward Hervey
279be94321 qtdemux: Add GST_MEMDUMP statements for unknown atoms.
This is to help developers track down and implement unhandled atoms faster.
2009-06-24 12:37:38 +02:00
Sebastian Dröge
810c60a6f3 deinterlace: Remove the interlaced field from the output caps if deinterlacing is enabled 2009-06-23 17:52:29 +02:00
Sebastian Dröge
20668a0782 deinterlace: Copy the correct line from correct place in the history 2009-06-23 17:52:29 +02:00
Wim Taymans
81d7a297f7 rtspsrc: use same protocols after redirect
After a redirect we want to use the same protocols that we were using for the
current url.
2009-06-23 16:39:36 +02:00
Tim-Philipp Müller
da4c1c9227 qtdemux: don't leak cover art 2009-06-23 15:35:37 +01:00
Tim-Philipp Müller
0d9dccee4f udp: fix compiler warning about EAI_ADDRFAMILY getting redefined in some cases
Include the header from where we include all the system headers with the
socket stuff before we try to define EAI_ADDRFAMILY ourselves, otherwise
we define it ourselves and then get a compiler warning if a system header
defines it as well without guarding against it being defined already.
2009-06-23 14:10:10 +01:00
Wim Taymans
dff3f37bdf matroska: and the new headers too 2009-06-23 14:39:56 +02:00
Wim Taymans
8a4dc37544 matroske: fix compiler error
change gpointer to guint8 * for codec_state and codec_priv as some
functions operate on those types and it avoids breaking strict-aliasing
rules.
2009-06-23 14:32:43 +02:00
Wim Taymans
9600c54938 matroskademux: avoid leaking buffers
Don't leak buffers when resyncing to a keyframe.
Avoid leaking buffers when exiting the loop on error conditions.
Add some more debug info.

Fixes #585911
2009-06-23 12:42:33 +02:00
Tim-Philipp Müller
ace09d40bd qtdemux: use GST_MEMDUMP 2009-06-22 10:49:03 +01:00
Tim-Philipp Müller
0a8f254460 apedemux: add container-format tag
Use pbutils here because the string is translated.
2009-06-22 10:49:03 +01:00
Tim-Philipp Müller
98fa27dcd1 id3demux: add container-format tag
Using pbutils here because the string is translated.
2009-06-22 10:49:02 +01:00
Tim-Philipp Müller
6c6e96becd multipartdemux: post container-format tag 2009-06-22 10:49:02 +01:00
Tim-Philipp Müller
323517f527 matroska-demux: post container-format tags 2009-06-22 10:49:01 +01:00
Tim-Philipp Müller
4fe23fbe4b avidemux: post container-format tag 2009-06-22 10:49:01 +01:00
Tim-Philipp Müller
b8176ee9cc qtdemux: post container-format tags 2009-06-22 10:49:01 +01:00
Sebastian Dröge
a3cb8f005b audioamplify: Fix integer overflows on 32 bit architectures 2009-06-21 17:13:43 +02:00
Kipp Cannon
f80b62c3db audioamplify: Don't declare a loop index static
The previous patch to add support for additional sample formats possibly
introduced a reentrancy bug:  a variable used for a loop index was declared
static.  This patch fixes that, and also adds a "/* *INDENT-ON* */" annotation
following the macro block.  (I don't know what the annotation is for, but the
adder, where I copied this from, has it).
2009-06-21 09:50:54 +02:00
Sebastian Dröge
ffe64fb934 audioamplify: Fix off-by-one in wrap-positive mode 2009-06-19 22:37:27 +02:00
Kipp Cannon
afccf53ace audioamplify: Add noclip method and support for more formats
Fixes bug #585828 and #585831.
2009-06-19 22:20:45 +02:00
Koop Mast
8ecd5f1a06 udp: Fix build on FreeBSD
Fixes bug #586397.
2009-06-19 21:47:29 +02:00
Ognyan Tonchev
83a0e7d2a3 rtpmp4vpay: add support for buffer-list
See #585559
2009-06-19 18:00:35 +02:00
Ognyan Tonchev
d5d0364d7b rtpjpegpay: add support for buffer-lists
See #585559
2009-06-19 17:57:12 +02:00
Ognyan Tonchev
40ec22788f rtph264pay: add support for buffer-lists
See #585559
2009-06-19 17:53:32 +02:00
Wim Taymans
8f43709e00 udputils: don't free invalid memory
As spotted by benjiG in IRC.
don't free invalid memory when getaddrinfo failed.
2009-06-19 16:00:51 +02:00
Mark Nauwelaerts
3d8f31843c avidemux: streaming; adjust sizes to cater for padding in chunks 2009-06-18 16:59:26 +02:00
Mark Nauwelaerts
08c9019566 avidemux: streaming mode; handle data chunks grouped in rec lists.
Fixes #567983.
2009-06-17 12:31:42 +02:00
Mark Nauwelaerts
71eb4a4dfa qtdemux: map some tags to COMPOSER rather than ARTIST 2009-06-17 12:31:40 +02:00
Mark Nauwelaerts
0d2db95453 qtdemux: fix some 3GP tag extraction (keywords, genre, location) 2009-06-17 12:31:37 +02:00
Mark Nauwelaerts
0f0117aabb qtdemux: extract pixel-aspect-ratio information 2009-06-17 12:31:32 +02:00
Sebastian Dröge
fc9779bd86 matroskademux: Fix leaking of the Matroska TITLE element 2009-06-17 07:14:09 +02:00
Sebastian Dröge
55535c7fe6 effectv: Add basic documentation for the effectv elements 2009-06-16 20:38:42 +02:00
Sebastian Dröge
757f80b23e effectv: Define the fast PRNG function at a central place 2009-06-16 20:16:13 +02:00
Sebastian Dröge
414d0548e2 effectv: Move type definitions into separate headers
This is needed for the docs later.
2009-06-16 20:13:35 +02:00
Sebastian Dröge
44a822b29f effectv: Remove get_unit_size implementations
The default on from GstVideoFilter handles this already.
2009-06-16 19:41:02 +02:00
Wim Taymans
a0e3bc5997 udpsrc: add debug line for the socket 2009-06-16 15:06:50 +02:00
Ognyan Tonchev
375523be71 multiudpsink: add support for buffer lists
Add support for BufferList and add a unit test.

Fixes #585842
2009-06-16 15:04:15 +02:00
Wim Taymans
a2cef3e5c2 mp4gdepay: guess constantDuration better
Do a better job at guessing the constantDuration parameter when it is not
present in the caps.

Fixes #585205
2009-06-15 22:42:45 +02:00
Sebastian Dröge
cf58ba0fa5 warptv: Clean up warptv element and fix some minor bugs and leaks 2009-06-15 21:13:35 +02:00
Sebastian Dröge
f4fc26dc49 vertigotv: Clean up vertigotv element and fix some minor bugs and leaks 2009-06-15 21:13:35 +02:00
Sebastian Dröge
46ceaf957a dicetv: Use guint8 instead of char (which can be signed or unsigned) 2009-06-15 21:13:35 +02:00
Sebastian Dröge
aaf8c8769d shagadelictv: Use guint8/gint8 instead of char (which can be signed or unsigned) 2009-06-15 21:13:35 +02:00
Sebastian Dröge
1f65192185 shagadelictv: Clean up element and free all memory in finalize 2009-06-15 21:13:34 +02:00
Sebastian Dröge
f3dc59d010 revtv: Clean up revtv element 2009-06-15 21:13:34 +02:00
Sebastian Dröge
006caab053 quarktv: Simplify some code 2009-06-15 21:13:34 +02:00
Sebastian Dröge
438295acae quarktv: Use the input data if a NULL buffer is chosen instead of the value 0 2009-06-15 21:13:34 +02:00
Sebastian Dröge
426ff3bd93 quarktv: Fix setting the planes property of quarktv
Setting it to a value<16 would cause crashes before because
current_plane was set to the old number of planes-1. Also
fix calculations for non-2^n planes values.
2009-06-15 21:13:33 +02:00
Sebastian Dröge
c116c301af quarktv: Clean up the quarktv element 2009-06-15 21:13:33 +02:00
Sebastian Dröge
b3bb4fa7ef effectv: Make elements list constant 2009-06-15 21:13:33 +02:00
Sebastian Dröge
012f71afb5 edgetv: Clean up edgetv element and fix memory leak 2009-06-15 21:13:33 +02:00
Sebastian Dröge
0cbdfcbc22 dicetv: Clean up dicetv element and fix some smaller issues
This fixes a memory leak (the dice map) and a crash when
setting the square-bits property before caps are set.
2009-06-15 21:13:33 +02:00
Sebastian Dröge
d1ad31b9b3 agingtv: Actually use GstController for syncing the properties to timestamps 2009-06-15 21:13:32 +02:00
Sebastian Dröge
45ef8efc6b agingtv: Export some more agingtv properties via GObject properties 2009-06-15 21:13:32 +02:00
Sebastian Dröge
f8424d0166 agingtv: General cleanup and updating of copyright
Also make the scratch-lines property exported via a GObject
property and initialize/reset the internal state correctly.
2009-06-15 21:13:32 +02:00
Sebastian Dröge
865f11192c agingtv: Store and update state inside the instance struct
This makes the coloraging effect and pits effect visible.
2009-06-15 21:13:32 +02:00
Olivier Crête
4c782db81d rtpsirenpay: Remove deprecated symbol
Patch by: Luis Menina
2009-06-13 21:02:45 -04:00
Patrick Radizi
a95c049f76 rtspsrc: Add RTP blocksize functionality
Add property to make the client suggest a blocksize to the server.
Fixes #585549
2009-06-12 16:06:28 +02:00
Wim Taymans
6f3c1728f3 rtp: update README, fix some typos, mention gstrtpbin 2009-06-11 22:30:06 +02:00
Jan Schmidt
6d32642887 docs: Quieten a couple more docs warnings 2009-06-11 11:39:25 +01:00
Jan Schmidt
42c9f83b5f docs: Remove gtk-doc comment marker
These comment blocks aren't gtk-doc comments and cause annoying noise in
the docs build.
2009-06-11 11:27:26 +01:00
Sebastian Dröge
ceea8dc15f deinterlace: Implement upstream negotation 2009-06-11 10:06:04 +02:00
Sebastian Dröge
cd33adbd96 deinterlace: Improve debugging and clean up some code 2009-06-11 10:06:04 +02:00
Sebastian Dröge
101123a75d deinterlace: Clip buffers to the current segment if possible 2009-06-11 10:06:04 +02:00
Sebastian Dröge
4710a91cbf deinterlace: Clean up includes and clean up order of instance struct fields 2009-06-11 10:06:03 +02:00
Olivier Crête
645b9449a5 rtph263pay: Default to doing A, B and C modes, not only A 2009-06-10 16:09:56 -04:00
Sebastian Dröge
f297e37b5e deinterlace: Fix QoS calculations
The diff is a signed integer, not an unsigned one of course.

In modes other than GST_DEINTERLACE_ALL every frame has twice the
duration of the field duration.
2009-06-10 09:57:31 +02:00
Olivier Crête
dc61a71e5d rtpsirenpay: Put the bitrate in the RTP caps
The MS code seems to require the bitrate to interoperate and
draft-ietf-avt-rtp-g7221-00 also has it.
2009-06-09 14:13:31 -04:00
Sebastian Dröge
d0a5c0f3e3 deinterlace: Implement basic QoS
This change is based on Tim's QoS implementation
for jpegdec.
2009-06-09 19:56:53 +02:00
Sebastian Dröge
049722b680 deinterlace: Directly proxy events/queries to the peer pads
This removes some overhead introduced by the default handlers
that need to iterate over the other pads.
2009-06-09 19:56:53 +02:00
Edward Hervey
5e0a2296e0 avidemux: debug_memdump() unknown tags. Refactor junk parsing code.
This makes life slightly easier when debugging avi files.
2009-06-09 10:41:49 +02:00
Edward Hervey
6eec2a060d rtp: Don't forget to dist the headers for the CELT (de)payloaders. 2009-06-08 08:21:43 +02:00
Wim Taymans
9050fb26e9 Revert "Revert "qtdemux: fill timestamp table completely""
This reverts commit 9f022c8a85.

Sorry, I was thinking about the wrong module.
2009-06-07 20:54:06 +02:00
Wim Taymans
9f022c8a85 Revert "qtdemux: fill timestamp table completely"
This reverts commit 790b050fc5.
I forgot we were frozen.
2009-06-07 20:49:50 +02:00
Wim Taymans
790b050fc5 qtdemux: fill timestamp table completely
When there are less timestamps that there are samples, fill up the sample table
with the last know timestamp. This situation can happen when the last sample
does not decode and doesn't need a timestamp. We however calculate the total
track length using the last sample timestamp so we need to have something
sensible in there.

Fixes #585056
2009-06-07 20:46:45 +02:00