Commit graph

9822 commits

Author SHA1 Message Date
Vincent Penquerc'h
426f991b52 discoverer: fix leaks caused by some base class dtors not being called 2012-01-11 12:52:17 +00:00
Vincent Penquerc'h
96e40584ce discoverer: fix caps and discoverer object ref leaks 2012-01-11 12:16:28 +00:00
Vincent Penquerc'h
9ab18d7a68 discoverer: add a few consts where appropriate 2012-01-11 11:55:59 +00:00
Vincent Penquerc'h
7ad6431837 discoverer: fix pad leak 2012-01-11 11:55:36 +00:00
Vincent Penquerc'h
83c9396850 Revert "oggmux: fix pad leak"
This reverts commit 5df30c1b90.

I must have dreamt the Valgrind logs, reverting this reintroduces
no leak, and gets rid of the test failures it introduced :S
2012-01-10 19:02:31 +00:00
Tim-Philipp Müller
b155e094ed discoverer: use GST_TYPE_TAG_LIST for tag lists
They may not be structures in 0.11/1.0.
2012-01-10 18:29:22 +00:00
Tim-Philipp Müller
5f20af6ce5 discoverer: fix potential tag list leaks
Not that I have ever seen these in practice, but if they
can't happen we may just as well just assign the new tag
list. Merge properly to be on the safe side, and also
avoid a useless tag list copy in the normal case where
there is no tag list yet.
2012-01-10 18:29:21 +00:00
Tim-Philipp Müller
b794f78d26 discoverer: fix potential caps leak
in last else chunk.
2012-01-10 18:29:21 +00:00
Vincent Penquerc'h
35df9d2ad9 oggstream: fix tag list leak 2012-01-10 16:57:04 +00:00
Vincent Penquerc'h
a718b859a7 oggdemux: fix pad leak 2012-01-10 16:51:09 +00:00
Vincent Penquerc'h
ef1469fc8b oggdemux: fix hang on small truncated files
A first hang was happening when trying to locate a page backwards,
where we'd sync forever on the same page.
With that fixed, a second hang would happen after preparing an EOS
event, but with no chain created yet to send it to, the pipeline
would stay idle forever.
An element error is now emitted for this case.
2012-01-10 16:20:23 +00:00
Vincent Penquerc'h
5df30c1b90 oggmux: fix pad leak 2012-01-10 16:20:23 +00:00
Mark Nauwelaerts
e8fd305623 playback: document DEINTERLACE flag 2012-01-09 12:34:07 +01:00
Tim-Philipp Müller
9f042ae224 rtspconnection: make hostname lookup more thread-safe
Don't write IP number string to return into a static
array which is shared amongst all threads (note: of
course a copy is returned).

https://bugzilla.gnome.org/show_bug.cgi?id=666711
2012-01-07 20:16:41 +00:00
Tim-Philipp Müller
1031fedaf0 discoverer: make is_subtitle_caps thread-safe 2012-01-07 19:39:42 +00:00
Tim-Philipp Müller
aa16155172 tests: add ogg test file and some proper unit tests for discoverer
Leaks when re-used, so blacklisted for valgrind for now.
2012-01-07 16:45:53 +00:00
Tim-Philipp Müller
4471ee65d8 win32: .def file should be sorted for make check-exports 2012-01-07 14:44:51 +00:00
Vincent Penquerc'h
5cf87eedc4 video: overlays may now have premultiplied alpha
https://bugzilla.gnome.org/show_bug.cgi?id=666177
2012-01-06 10:19:19 +00:00
Havard Graff
95be60de15 Fix various unlikely, but still potential memoryleaks in error code paths
https://bugzilla.gnome.org/show_bug.cgi?id=667311
2012-01-05 13:27:23 +00:00
Havard Graff
b11d516c46 appsrc: implement get_caps vfunc
This allows downstream elements to query what caps are available.

https://bugzilla.gnome.org/show_bug.cgi?id=667312
2012-01-05 13:12:33 +00:00
Tim-Philipp Müller
19d17b8f24 tools: avoid unportable vararg macro construct in gst-discoverer
https://bugzilla.gnome.org/show_bug.cgi?id=667306
2012-01-05 12:23:08 +00:00
Idar Tollefsen
88ad3e65a1 build: Run platform check for platform specific configuration. 2012-01-05 11:17:31 +00:00
Pascal Buhler
0febae7443 rtcpbuffer: prevent overflow of 16bit header length.
RTCP header can be  (2^16 + 1) * 4 bytes long, so when validating a bogus
packet it was possible to get a 16bit overflow resulting in a length of 0.
This would put the gst_rtcp_buffer_validate_data function in a endless loop.

https://bugzilla.gnome.org/show_bug.cgi?id=667313
2012-01-05 11:12:25 +00:00
Havard Graff
cfdb48ba8f videotestsrc: keep the calculation fixed-point
https://bugzilla.gnome.org/show_bug.cgi?id=667315
2012-01-05 11:00:47 +00:00
Idar Tollefsen
580b6b2b69 pango: changes includes from brackets to quotes for local files
https://bugzilla.gnome.org/show_bug.cgi?id=667316
2012-01-05 10:52:14 +00:00
Philip Flarsheim
08af765ea2 docs: add win32 code snippets to GstXOverlay Gtk+ example 2012-01-05 01:54:29 +00:00
Tim-Philipp Müller
b15b03ee6f videotestsrc: don't build generate_sine_table utility by default 2012-01-03 21:20:04 +00:00
Mark Nauwelaerts
3e0d35aec4 streamsynchronizer: force fallback buffer_alloc when other pad not available
... to avoid unnecessary spurious errors (upon e.g. shutdown).
If a real error is applicable in this unusual circumstance (missing other pad),
other (STREAM_LOCK protected) call paths can take care of that.
2012-01-03 11:07:17 +01:00
Mark Nauwelaerts
af28016d0a streamsynchronizer: avoid crashing when operating on released pad 2012-01-03 11:07:15 +01:00
Tim-Philipp Müller
76cc8b8f2a tag: add function to check whether a string is a valid language code
API: gst_tag_check_language_code()
2012-01-02 01:04:00 +00:00
Tim-Philipp Müller
c3e6e23b85 audio, rtsp: remove private/protected gtk-doc markup for enums
This confuses glib-mkenums, and is not really useful anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=666618
2012-01-02 00:19:57 +00:00
Thiago Santos
08022bddc8 oggmux: fix leak when initializing pads
Pads are initialized twice: when requesting pads and when
initializing collectpads. Avoid double initialization by
checking if collectpads are still going to be initialized when
creating request pads.
2011-12-28 09:45:53 -03:00
Tim-Philipp Müller
4fc4aeee71 theoraenc: fix template caps creation on big endian systems 2011-12-23 22:51:59 +00:00
Tim-Philipp Müller
dfa23662e1 tag: fix writing of Exif tag payloads <= 4 bytes
When the payload for an Exif tag is less than or equal to 4 bytes,
the data is simply put into the offset field. Fix writing these
kinds of payloads on big endian systems (and possibly also on
little endian systems). The caller will have already formatted
the bytes in memory according to the writer's endianness, so just
write out the bytes as they are in this case. Fixes tags unit test
on big endian systems.
2011-12-23 22:24:44 +00:00
Mark Nauwelaerts
e3c78ff661 audioencoder: add a few more debug statements 2011-12-22 16:58:37 +01:00
Mark Nauwelaerts
9bfa65b7d3 audiodecoder: tweak documentation 2011-12-22 16:58:34 +01:00
Thiago Santos
77353dad21 tag: xmp: Keep compatibility with our old generated xmp
We used to add a trailing \n to the end of generated xmp packets.
Windows viewer was unhappy with it and we fixed it in
96d2120c2b

The problem is that this caused xmp generated before this fix
to not be recognized and parsed anymore. This patch makes it
recognize xmp with the trailing \n and without, fixing the
regression. Also adds tests for it.
2011-12-22 08:12:28 -03:00
Vincent Penquerc'h
ceeff69bc1 gstvideo: fix a RGB ordering mixup in colorspace conversion code 2011-12-20 19:55:53 +00:00
Oleksij Rempel (Alexey Fisher)
5f3a31f4d1 theoraenc: add "dup-on-gap" option
This option will produce duplicate frames if we get
a frame with GAP flag. This will reduce CPU load and file size.

This option should be disabled for real time applications, because it
collects GAP frames and waits until it gets a non GAP frame to start
encoding.

v30.06.2011: make some spell changes.
v03.07.2011: add handling of EOS and discontinuous for dup-on-gap.
v19.12.2011: fix pointer dangling in theora_timefifo_free
v20.12.2010: fix timestamp bug for dup-on-gap=0

Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=627459

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2011-12-20 19:43:47 +00:00
Mark Nauwelaerts
c41f3cbef0 audiodecoder: set a non-zero default maximum tolerated errors
Whereas the previous default 0 was backwards compatible in that it lead
to erroring out immediately upon any error, elements that are really
ported and using the base class error macro can be assumed to intend to
improve behaviour rather than maintaining the old one.  So, make it easy
on those and any future one and tolerate some errors by default, as intended.

Fixes #666579.
2011-12-20 12:50:18 +01:00
Vincent Penquerc'h
85c10b0b24 adder: do not send too many flush-stop events
GstCollectPads2 now allows us to override the event function,
so we can withhold flush stop events if none are to be sent.

https://bugzilla.gnome.org/show_bug.cgi?id=666379
2011-12-16 20:12:01 +00:00
Vincent Penquerc'h
1da30adc1a adder: use the stream lock where appropriate
GstCollectPads2 locking was changed from GstCollectPads to use
the stream lock instead of the object lock for those cases, so
change it so here as well to match.

https://bugzilla.gnome.org/show_bug.cgi?id=666379
2011-12-16 17:36:02 +00:00
Vincent Penquerc'h
bcaf5890aa adder: send a flush event before trying to get the stream lock
This avoids hanging when the streaming thread is busy in _chain
waiting for preroll.

https://bugzilla.gnome.org/show_bug.cgi?id=666379
2011-12-16 17:36:02 +00:00
Vincent Penquerc'h
229377fb6b oggdemux: assume live stream if byte size cannot be determined
This prevents trying to seek and failing, then ending up unable
to stream because we can't get back at the headers.
A more robust way would be to find a good place to reinject the
headers when a seek fails, but I can't seem to get this to work.
2011-12-16 15:29:21 +00:00
Thiago Santos
d798cc1b8d tag: exif: do not include \0 in size passed to g_convert
When using g_convert, we should only pass the length
of the string content (without the \0) as g_convert will
only parse the real contents when changing formats. Including
the \0 causes it to add another \0, increasing the string
size when not needed.

For example, when writting a North geo location ref entry, that should
be a string with a single N letter, it would write:
"N\0\0", causing the string to have size 3, instead of 2 as expected.

In our case, we can pass -1 and let g_convert calculate the strlen as
we don't use the length anywhere else.

This fixes jifmux's tests on gst-plugins-bad.
2011-12-15 12:08:51 -03:00
Vincent Penquerc'h
a3c5abf97f adder: port to GstCollectPads2 2011-12-14 18:26:07 +00:00
Mark Nauwelaerts
60d5d08fbb decodebin2: tweak chain topology description
... to also properly indicate chain's endpad if no elements are in the
chain (due to the endpad being a raw demuxer pad, or one setup without
decoders since uridecodebin or higher up decided not to need those).
2011-12-14 17:53:38 +01:00
Vincent Penquerc'h
12be1e6fc5 baseaudiosink: fix late buffer leak 2011-12-13 12:55:45 +00:00
Sebastian Dröge
cd11d68716 subtitleoverlay: Refactor code to check if a property exists on an element 2011-12-13 13:31:03 +01:00
Sebastian Dröge
87a4cbd0e3 subtitleoverlay: Refactor autoplugging code and select overlay element by rank too
Previously we always used textoverlay for rendering the output of
a parser, now the same code as for the renderers is used and the
element with the highest rank is used.

Fixes bug #663822.
2011-12-13 13:31:03 +01:00