Commit graph

10996 commits

Author SHA1 Message Date
Vincent Penquerc'h
4735a7554b mpeg4videoparse: fix number of bytes read for fixed time increment
The spec I found says "16 bits".
The existing code used log2(somevalue)+1.
ffmpeg uses log2(somevalue-1)+1.
The code now uses log2(somevalue-1)+1, and this makes it work with
some sample video without breaking another sample.
Now, I'm far from certain I've got the right spec, I found it by
searching the internet, so...

https://bugzilla.gnome.org/show_bug.cgi?id=654666
2011-11-28 15:22:56 +00:00
Vincent Penquerc'h
f1a4791f74 mpegdemux: Try to add all streams early
This will allow us to signal no-more-pads to avoid hitting
the decodebin2 overrun.
2011-11-28 15:10:47 +00:00
Vincent Penquerc'h
fb66b3c2ac mpegtsdemux: handle pads with no data
Some streams declare PIDs but will not send data for them.
Ensure we time out on those, and both send new segments to
keep their time synchronized with the rest, and do not wait
forever before deciding to signal no-more-pads.

https://bugzilla.gnome.org/show_bug.cgi?id=659924
2011-11-28 15:08:13 +00:00
Vincent Penquerc'h
f909c57546 mpegtsdemux: signal no-more-pads when appropriate
We track streams for which a data callback is set (and for which
pads will be added only when data is received), and signal
no-more-pads when the last pad is added.

https://bugzilla.gnome.org/show_bug.cgi?id=659924
2011-11-28 15:08:06 +00:00
Vincent Penquerc'h
9715fc3189 mpegdemux: take into account offset of first buffer
This fixes playback when the source starts later than the playback
pipeline, and when a source drops for a while then restarts.

https://bugzilla.gnome.org/show_bug.cgi?id=657794
2011-11-28 14:01:43 +00:00
Vincent Penquerc'h
918d2e710f mpegdemux: fix some more video freezing
There was a second threshold, which apparently needs to be smaller
than the first, though I'm not certain of it as I don't understand
yet this nest of wtf that is the mpeg demuxer timing logic.

Fixes video freezing on one (corrupted) MPEG sample. It would
previously never think it was out of the discontinuity, and would
push buffers with no timestamp.

Now this took me more than a day's poking at the thing, for just
one constant change, and I'm scared to have to touch this again :S

https://bugzilla.gnome.org/show_bug.cgi?id=655804
2011-11-28 13:57:42 +00:00
Vincent Penquerc'h
7960280afb mpegdemux: catch smaller PTS dicontinuities
In a test stream, I get one buffer with a PTS of about 15 seconds
in the future compared to the previous one, and next buffers with
timestamps continuing where the original ones left off.

This caused the sink to wait 15 seconds to display the frame while
more frames queued up, and then dump all the subsequent frames as
they "arrived too late".

Maybe that threshold should be made configurable, but for now,
make it more smaller to catch more of these.

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

Non AV streams keep using the larger threshold (10 minutes), as
subtitles may arrive only every so often.
2011-11-28 13:57:29 +00:00
Vincent Penquerc'h
7521b597f4 various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00
Julien Isorce
26d6add945 rtmp: add WSAStartup and WSACleanup on Win32
https://bugzilla.gnome.org/show_bug.cgi?id=661098
2011-11-28 10:34:45 +00:00
Tim-Philipp Müller
98b9d602c1 aiffparse: extract ID3 tags embedded in ID3 chunks
https://bugzilla.gnome.org/show_bug.cgi?id=664725
2011-11-27 23:19:49 +00:00
Danilo Cesar Lemes de Paula
43190ea0f8 opusenc: Fixing "Unused var" compiling error for opus codec
https://bugzilla.gnome.org/show_bug.cgi?id=664815
2011-11-25 15:32:12 +00:00
Vincent Penquerc'h
631f42eee8 opusenc: only use mono streams for > 2 channels
I'm getting odd results with packing streams into stereo
streams, and using only mono streams is enough in all cases.
2011-11-25 15:31:59 +00:00
Vincent Penquerc'h
65079e3ada opus: add some more debug information about channel mapping 2011-11-25 15:31:59 +00:00
Vincent Penquerc'h
2e0e118676 opusparse: remove dead assigments
We now only keep a ref to the headers for later reuse.
2011-11-25 15:31:59 +00:00
Vincent Penquerc'h
f78c83a0b6 opusenc: do not cause the decoder to apply the channel mapping again
Since we already reorder channels, we do not want to write that
reordering in the header, or the decoder will do it again.
2011-11-25 15:31:59 +00:00
Vincent Penquerc'h
5f85454020 opusdec: fix bogus assertion 2011-11-25 15:31:59 +00:00
Mark Nauwelaerts
d3fda8a644 tests: add unit test for voamrwbenc 2011-11-25 15:52:57 +01:00
Tim-Philipp Müller
f78e9e1684 basevideodecoder: some more debug logging 2011-11-25 11:37:57 +00:00
Tim-Philipp Müller
ca772ed321 vp8dec: use new basevideodecoder API to drop frames and get QoS messages posted 2011-11-25 11:37:57 +00:00
Tim-Philipp Müller
a039499bf1 basevideodecoder: add API to drop a frame and post a QoS message on the bus
https://bugzilla.gnome.org/show_bug.cgi?id=640017

API: gst_base_video_decoder_drop_frame()
2011-11-25 11:37:57 +00:00
Luciana Fujii Pontello
cdcc39455c Add pvrvideosink element
PVRVideoSink uses PVR2D library to blit images.

Author: Alessandro Decina <alessandro.decina@collabora.co.uk>
Author: Luciana Fujii <luciana.fujii@collabora.co.uk>
2011-11-25 10:24:23 +01:00
Stefan Sauer
c61f85da82 audiovisualizers: add aa-line code and user for wave/space-scope 2011-11-24 19:04:17 +01:00
Vincent Penquerc'h
78337fc198 opus: pre-skip and output gain are little endian, remove reminder note 2011-11-24 13:40:34 +00:00
Vincent Penquerc'h
0ca385a970 opus: multichannel support 2011-11-24 13:40:34 +00:00
Vincent Penquerc'h
5da03cd2a4 opus: switch to multistream API
It's very similar to the basic API, and is a superset ot it,
which will allow encoding and decoding more than 2 channels.
2011-11-24 13:40:34 +00:00
Vincent Penquerc'h
745cc8d4e4 opusdec: shuffle supported sample rates to favor 48000 2011-11-24 13:40:34 +00:00
Vincent Penquerc'h
f1477522de opusenc: remove useless setup field 2011-11-24 13:40:34 +00:00
Vincent Penquerc'h
1d0f770545 colorspace: fix width/height mismatches
https://bugzilla.gnome.org/show_bug.cgi?id=663238
2011-11-24 10:49:16 +01:00
Sebastian Dröge
ca6ae54d5f mpeg4videoparse: Use the sinkpad template caps as a fallback, not the srcpad ones 2011-11-24 10:26:25 +01:00
Sebastian Dröge
dc2c61faf5 mpegvideoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 10:14:06 +01:00
Sebastian Dröge
61fad46dca h263parse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 10:09:59 +01:00
Sebastian Dröge
b10c1f277f diracparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 10:08:27 +01:00
Sebastian Dröge
e7cd086970 mpeg4videoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 10:05:30 +01:00
Mark Nauwelaerts
9680108d77 faac: do not leak buffer when no encoded data yet or encoding error 2011-11-23 23:30:00 +01:00
Mark Nauwelaerts
8b5fbcaedd dtsdec: port to audiodecoder 2011-11-23 23:29:10 +01:00
Tim-Philipp Müller
da43e59aab smooth: fix printf format compiler warning in debug message
https://bugzilla.gnome.org/show_bug.cgi?id=664631
2011-11-23 16:03:15 +00:00
Krzysztof Krakowiak
4286414e00 modplug: fix modules playing as mono instead of stereo
replaced broken if-return logic for fixating rate and number
of channels that caused that modules were always (after
successful fixation of rate) played as mono (instead of
stereo) by correct one with appropiate warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=619035
2011-11-23 15:30:28 +00:00
Vincent Penquerc'h
4bd5ef9bc5 opusdec: implement replay gain
It would ideally be better to leave this to a rgvolume element,
but we don't control the pipeline. So do it by default, and allow
disabling it via a property, so the correct volume should always
be output.
2011-11-23 14:03:30 +00:00
Vincent Penquerc'h
b80f52a729 opusdec: add in-band FEC support
This allows reconstruction of lost packets if FEC info is included
in the next packet, at the cost of extra latency. Since we do not
know if the stream has FEC (and this can change at runtime), we
always incur the latency, even if we never lose any frame, or see
any FEC information. Off by default.
2011-11-23 12:08:01 +00:00
René Stadler
461f1971dd frei0r: normalize boolean property default values to TRUE/FALSE
Glib barks at us with a warning when we pass e.g. 4.
2011-11-23 12:43:48 +01:00
Edward Hervey
296874561f pkgconfig: aaand fix my last commit 2011-11-23 11:59:42 +01:00
Edward Hervey
f5a142068f pkgconfig: Fix gstreamer-basevideo-uninstalled.pc.in 2011-11-23 11:56:27 +01:00
Stefan Sauer
03f1f0214e audiovisualizers: update README and TODO comments 2011-11-23 11:31:44 +01:00
Stefan Sauer
3ba8b3c0ad spacescope: use the drawhelpers and add a draw-style property
Like in wavescope support drawing dots and lines.
2011-11-23 11:21:15 +01:00
Stefan Sauer
e3d1a50c0d audiovisualizers: add some simple drawing helpers for reuse
Add a (uninstalled) header with simple drawing macros
2011-11-23 08:42:01 +01:00
Stefan Sauer
b9c9540735 smoothwave: remove element unported from 0.8
The wavescope element does achieve the same effect.
2011-11-23 08:42:01 +01:00
Stefan Sauer
85aba22118 wavescope: add a style property for drawing modes
Add a style enum of { dots, lines}. Now this elements is a superset of smoothwave.
2011-11-23 08:42:01 +01:00
Tim-Philipp Müller
27556bd668 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs 2011-11-22 23:04:49 +00:00
Tim-Philipp Müller
cd851cc712 opusenc: mark properties changeable at runtime with GST_PARAM_MUTABLE_PLAYING 2011-11-22 20:27:50 +00:00
Tim-Philipp Müller
c75922b96b basevideodecoder: fix weird event list handling
Get rid of weird code that copies a list manually, taking
ownership of the elements and then frees the old list. Instead,
just take over the old list entirely. (If the intent was to
reverse the list, one could use g_list_reverse() instead).

Then, push events in the list out from last to first (since they
were prepended as they came in) instead of just pushing out the
last in the list and leaking the others.
2011-11-22 20:04:13 +00:00