Sebastian Dröge
25002df594
basevideoencoder: Move some fields to the private part of the instance struct
2011-11-29 12:18:19 +01:00
Sebastian Dröge
b0000b9041
basevideoencoder: Make headers metadata writable before pushing downstream
...
The timestamp, duration, etc of the headers has to be changed.
2011-11-29 12:18:19 +01:00
Sebastian Dröge
4501412af3
basevideoencoder: Push the downstream force-keyframe event after the next keyframe
...
Even if the corresponding GstVideoFrame doesn't have the is_sync_point
flag set.
2011-11-29 12:18:19 +01:00
Sebastian Dröge
209ea84ef4
basevideoencoder: Don't push an upstream force-keyunit event downstream
2011-11-29 12:18:19 +01:00
Jonas Larsson
54cb226009
basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
...
See bug #607742 .
2011-11-29 12:18:19 +01:00
Tim-Philipp Müller
135239605f
kate: fix set-but-not-used-variable compiler warning
...
gstkatetiger.c:1156:15: error: variable 'height' set but not used
gstkatetiger.c:1156:8: error: variable 'width' set but not used
2011-11-29 09:22:38 +00:00
Tim-Philipp Müller
12c678c7cf
codecparsers: minor fixes
...
Const-ify one more VLC table. Fix spelling of 'hybrid'.
No need to explicitly call ensure_debug_category() everywhere,
that will be done automatically from GST_LOG() and friends
via GST_CAT_DEFAULT.
2011-11-29 09:15:11 +00:00
Thibault Saunier
e1bacb4813
codecparser: mpeg4: Look for resync code in _mpeg4_parse
...
This way the API is simpler and users can call 1 single function for packet
detection.
2011-11-28 21:25:34 -03:00
Thibault Saunier
5555b5fa9d
mpeg4videoparse: Properly handle profile and level in caps
...
Fix #660234
2011-11-28 21:25:34 -03:00
Thibault Saunier
48ad76e538
mpeg4videoparse: Port to the new mpeg4parser library
2011-11-28 21:25:34 -03:00
Thibault Saunier
db4d4979ab
mpeg4videoparse: Move to the videoparsers plugin
...
Rename a few variables to use the same convention as others elements in this
plugin
Conflicts:
gst/videoparsers/gstmpeg4videoparse.c
2011-11-28 21:25:34 -03:00
Thibault Saunier
e464370163
codecparsers: Declare private arrays as static all around
2011-11-28 21:25:34 -03:00
Thibault Saunier
fd593d6cc8
codecparsers: mpeg4: Implement an Mpeg4 part 2 parsing library
2011-11-28 21:25:34 -03:00
Thibault Saunier
4439048e4a
codecparsers: Move shared code to a parser utils file
2011-11-28 21:25:34 -03:00
Thibault Saunier
fbe30dd2ea
pkgconfig: remove references to codecparsers from -bad.pc.in
2011-11-28 21:25:34 -03:00
Thiago Santos
9364d13c02
camerabin2: viewfinderbin: use faster cast macro
...
Use cast macro without type checks when we know it should work.
2011-11-28 18:48:52 -03:00
Thiago Santos
b5f97fd033
camerabin2: viewfinderbin: Link elements directly to use faster version
...
ffmpegcolorspace and videoscale should always link successfully, use
the fast pad linking version instead of calling the generic helper
function.
2011-11-28 18:48:52 -03:00
Thiago Santos
f6d47a4206
camerabin2: micro optimize linking some more
2011-11-28 18:48:51 -03:00
Vincent Penquerc'h
9eb79984a8
kate: support for rendering on several YUV formats
...
This speeds up rendering a fair bit by not requiring colorspace
conversion, whether there is anything to overlay or not.
The blending code was nicked from textoverlay. I would think
this might be a helpful thing to put in, say, libgstvideo at
some point.
https://bugzilla.gnome.org/show_bug.cgi?id=660528
2011-11-28 15:28:39 +00:00
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