Sebastian Dröge [Tue, 29 Nov 2011 11:12:04 +0000 (12:12 +0100)]
basevideoencoder: Implement full support for the new force-key-unit event
Including support for the running-time and count fields.
Sebastian Dröge [Tue, 29 Nov 2011 08:31:11 +0000 (09:31 +0100)]
basevideoencoder: Use new force-keyunit event API from gst-plugins-base
Sebastian Dröge [Tue, 29 Nov 2011 08:18:19 +0000 (09:18 +0100)]
basevideoencoder: Adjusting padding is not required for -bad libraries
Sebastian Dröge [Mon, 28 Nov 2011 18:48:01 +0000 (19:48 +0100)]
basevideoencoder: Move some fields to the private part of the instance struct
Sebastian Dröge [Mon, 28 Nov 2011 18:36:56 +0000 (19:36 +0100)]
basevideoencoder: Make headers metadata writable before pushing downstream
The timestamp, duration, etc of the headers has to be changed.
Sebastian Dröge [Mon, 28 Nov 2011 18:35:40 +0000 (19:35 +0100)]
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.
Sebastian Dröge [Mon, 28 Nov 2011 18:29:13 +0000 (19:29 +0100)]
basevideoencoder: Don't push an upstream force-keyunit event downstream
Jonas Larsson [Fri, 25 Nov 2011 10:48:08 +0000 (11:48 +0100)]
basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
See bug #607742.
Tim-Philipp Müller [Tue, 29 Nov 2011 09:22:38 +0000 (09:22 +0000)]
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
Tim-Philipp Müller [Tue, 29 Nov 2011 09:15:11 +0000 (09:15 +0000)]
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.
Thibault Saunier [Tue, 8 Nov 2011 13:44:11 +0000 (10:44 -0300)]
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.
Thibault Saunier [Thu, 29 Sep 2011 17:37:59 +0000 (14:37 -0300)]
mpeg4videoparse: Properly handle profile and level in caps
Fix #660234
Thibault Saunier [Mon, 26 Sep 2011 19:58:58 +0000 (16:58 -0300)]
mpeg4videoparse: Port to the new mpeg4parser library
Thibault Saunier [Mon, 26 Sep 2011 13:39:31 +0000 (10:39 -0300)]
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
Thibault Saunier [Wed, 2 Nov 2011 12:14:42 +0000 (09:14 -0300)]
codecparsers: Declare private arrays as static all around
Thibault Saunier [Wed, 21 Sep 2011 22:49:36 +0000 (19:49 -0300)]
codecparsers: mpeg4: Implement an Mpeg4 part 2 parsing library
Thibault Saunier [Wed, 21 Sep 2011 22:40:47 +0000 (19:40 -0300)]
codecparsers: Move shared code to a parser utils file
Thibault Saunier [Thu, 29 Sep 2011 19:25:29 +0000 (16:25 -0300)]
pkgconfig: remove references to codecparsers from -bad.pc.in
Thiago Santos [Mon, 28 Nov 2011 21:47:50 +0000 (18:47 -0300)]
camerabin2: viewfinderbin: use faster cast macro
Use cast macro without type checks when we know it should work.
Thiago Santos [Mon, 28 Nov 2011 21:43:40 +0000 (18:43 -0300)]
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.
Thiago Santos [Mon, 28 Nov 2011 19:35:48 +0000 (16:35 -0300)]
camerabin2: micro optimize linking some more
Vincent Penquerc'h [Thu, 29 Sep 2011 21:43:30 +0000 (22:43 +0100)]
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
Vincent Penquerc'h [Thu, 18 Aug 2011 10:39:37 +0000 (11:39 +0100)]
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
Vincent Penquerc'h [Mon, 28 Nov 2011 15:10:39 +0000 (15:10 +0000)]
mpegdemux: Try to add all streams early
This will allow us to signal no-more-pads to avoid hitting
the decodebin2 overrun.
Vincent Penquerc'h [Mon, 26 Sep 2011 11:43:27 +0000 (12:43 +0100)]
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
Vincent Penquerc'h [Mon, 26 Sep 2011 11:16:30 +0000 (12:16 +0100)]
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
Vincent Penquerc'h [Mon, 5 Sep 2011 16:40:07 +0000 (17:40 +0100)]
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
Vincent Penquerc'h [Sat, 3 Sep 2011 13:37:40 +0000 (14:37 +0100)]
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
Vincent Penquerc'h [Tue, 30 Aug 2011 13:50:52 +0000 (14:50 +0100)]
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.
Vincent Penquerc'h [Mon, 28 Nov 2011 13:08:27 +0000 (13:08 +0000)]
various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
Julien Isorce [Thu, 6 Oct 2011 15:43:19 +0000 (17:43 +0200)]
rtmp: add WSAStartup and WSACleanup on Win32
https://bugzilla.gnome.org/show_bug.cgi?id=661098
Tim-Philipp Müller [Thu, 24 Nov 2011 13:49:12 +0000 (13:49 +0000)]
aiffparse: extract ID3 tags embedded in ID3 chunks
https://bugzilla.gnome.org/show_bug.cgi?id=664725
Danilo Cesar Lemes de Paula [Fri, 25 Nov 2011 13:41:19 +0000 (11:41 -0200)]
opusenc: Fixing "Unused var" compiling error for opus codec
https://bugzilla.gnome.org/show_bug.cgi?id=664815
Vincent Penquerc'h [Fri, 25 Nov 2011 14:00:18 +0000 (14:00 +0000)]
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.
Vincent Penquerc'h [Fri, 25 Nov 2011 12:47:42 +0000 (12:47 +0000)]
opus: add some more debug information about channel mapping
Vincent Penquerc'h [Fri, 25 Nov 2011 12:46:55 +0000 (12:46 +0000)]
opusparse: remove dead assigments
We now only keep a ref to the headers for later reuse.
Vincent Penquerc'h [Fri, 25 Nov 2011 12:40:31 +0000 (12:40 +0000)]
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.
Vincent Penquerc'h [Fri, 25 Nov 2011 12:39:20 +0000 (12:39 +0000)]
opusdec: fix bogus assertion
Mark Nauwelaerts [Fri, 25 Nov 2011 14:49:05 +0000 (15:49 +0100)]
tests: add unit test for voamrwbenc
Tim-Philipp Müller [Fri, 25 Nov 2011 11:37:39 +0000 (11:37 +0000)]
basevideodecoder: some more debug logging
Tim-Philipp Müller [Fri, 25 Nov 2011 11:36:14 +0000 (11:36 +0000)]
vp8dec: use new basevideodecoder API to drop frames and get QoS messages posted
Tim-Philipp Müller [Wed, 23 Nov 2011 20:03:32 +0000 (20:03 +0000)]
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()
Luciana Fujii Pontello [Wed, 31 Aug 2011 02:39:36 +0000 (23:39 -0300)]
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>
Stefan Sauer [Thu, 24 Nov 2011 18:03:23 +0000 (19:03 +0100)]
audiovisualizers: add aa-line code and user for wave/space-scope
Vincent Penquerc'h [Thu, 24 Nov 2011 13:38:59 +0000 (13:38 +0000)]
opus: pre-skip and output gain are little endian, remove reminder note
Vincent Penquerc'h [Thu, 24 Nov 2011 13:29:56 +0000 (13:29 +0000)]
opus: multichannel support
Vincent Penquerc'h [Wed, 23 Nov 2011 17:49:58 +0000 (17:49 +0000)]
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.
Vincent Penquerc'h [Wed, 23 Nov 2011 17:32:03 +0000 (17:32 +0000)]
opusdec: shuffle supported sample rates to favor 48000
Vincent Penquerc'h [Wed, 23 Nov 2011 16:36:54 +0000 (16:36 +0000)]
opusenc: remove useless setup field
Vincent Penquerc'h [Wed, 2 Nov 2011 13:25:56 +0000 (13:25 +0000)]
colorspace: fix width/height mismatches
https://bugzilla.gnome.org/show_bug.cgi?id=663238
Sebastian Dröge [Thu, 24 Nov 2011 09:26:25 +0000 (10:26 +0100)]
mpeg4videoparse: Use the sinkpad template caps as a fallback, not the srcpad ones
Sebastian Dröge [Thu, 24 Nov 2011 09:14:06 +0000 (10:14 +0100)]
mpegvideoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
Sebastian Dröge [Thu, 24 Nov 2011 09:09:59 +0000 (10:09 +0100)]
h263parse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
Sebastian Dröge [Thu, 24 Nov 2011 09:08:27 +0000 (10:08 +0100)]
diracparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
Sebastian Dröge [Thu, 24 Nov 2011 09:04:30 +0000 (10:04 +0100)]
mpeg4videoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
Mark Nauwelaerts [Wed, 23 Nov 2011 22:30:00 +0000 (23:30 +0100)]
faac: do not leak buffer when no encoded data yet or encoding error
Mark Nauwelaerts [Wed, 23 Nov 2011 22:29:10 +0000 (23:29 +0100)]
dtsdec: port to audiodecoder
Tim-Philipp Müller [Wed, 23 Nov 2011 16:01:35 +0000 (16:01 +0000)]
smooth: fix printf format compiler warning in debug message
https://bugzilla.gnome.org/show_bug.cgi?id=664631
Krzysztof Krakowiak [Wed, 23 Nov 2011 12:47:11 +0000 (13:47 +0100)]
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
Vincent Penquerc'h [Wed, 23 Nov 2011 13:22:12 +0000 (13:22 +0000)]
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.
Vincent Penquerc'h [Wed, 23 Nov 2011 11:58:54 +0000 (11:58 +0000)]
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.
René Stadler [Wed, 23 Nov 2011 11:41:32 +0000 (12:41 +0100)]
frei0r: normalize boolean property default values to TRUE/FALSE
Glib barks at us with a warning when we pass e.g. 4.
Edward Hervey [Wed, 23 Nov 2011 10:59:42 +0000 (11:59 +0100)]
pkgconfig: aaand fix my last commit
Edward Hervey [Wed, 23 Nov 2011 10:55:06 +0000 (11:55 +0100)]
pkgconfig: Fix gstreamer-basevideo-uninstalled.pc.in
Stefan Sauer [Wed, 23 Nov 2011 10:31:44 +0000 (11:31 +0100)]
audiovisualizers: update README and TODO comments
Stefan Sauer [Wed, 23 Nov 2011 10:21:15 +0000 (11:21 +0100)]
spacescope: use the drawhelpers and add a draw-style property
Like in wavescope support drawing dots and lines.
Stefan Sauer [Wed, 23 Nov 2011 07:40:49 +0000 (08:40 +0100)]
audiovisualizers: add some simple drawing helpers for reuse
Add a (uninstalled) header with simple drawing macros
Stefan Sauer [Wed, 23 Nov 2011 07:17:05 +0000 (08:17 +0100)]
smoothwave: remove element unported from 0.8
The wavescope element does achieve the same effect.
Stefan Sauer [Wed, 23 Nov 2011 07:14:38 +0000 (08:14 +0100)]
wavescope: add a style property for drawing modes
Add a style enum of { dots, lines}. Now this elements is a superset of smoothwave.
Tim-Philipp Müller [Tue, 22 Nov 2011 23:04:49 +0000 (23:04 +0000)]
docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
Tim-Philipp Müller [Tue, 22 Nov 2011 20:27:50 +0000 (20:27 +0000)]
opusenc: mark properties changeable at runtime with GST_PARAM_MUTABLE_PLAYING
Tim-Philipp Müller [Tue, 22 Nov 2011 19:57:07 +0000 (19:57 +0000)]
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.
Vincent Penquerc'h [Tue, 22 Nov 2011 18:33:17 +0000 (18:33 +0000)]
opus: add test
Vincent Penquerc'h [Tue, 22 Nov 2011 17:04:09 +0000 (17:04 +0000)]
opusenc: allow setting most properties at PLAYING time
Opus allows these to be changed during encoding, transparently
to the decoder.
Vincent Penquerc'h [Tue, 22 Nov 2011 16:14:06 +0000 (16:14 +0000)]
opusenc: bound the bitrate to more sensible values
Go from the bounds mentioned in the spec, and allow some more
variation.
In particular, don't allow silly low bitrates, and allow reaching
the maximum useful bitrate.
Vincent Penquerc'h [Tue, 22 Nov 2011 15:33:20 +0000 (15:33 +0000)]
opusenc: fix crash on pathological parameters
Asking for 1 bit/s would select a 0 byte buffer, leading
to a crash. Buffer size is now controlled by a max-payload-size
property, which can't be less than 2.
Vincent Penquerc'h [Mon, 21 Nov 2011 18:12:00 +0000 (18:12 +0000)]
opusparse: do not send headers through data path
Additionally, since Opus packets may change between stereo
and mono as the encoder sees fit, assume two channels when
we do not see a header, and use the header value otherwise.
Vincent Penquerc'h [Mon, 21 Nov 2011 17:48:54 +0000 (17:48 +0000)]
opus: move header magic testing to gstopusheader
Vincent Penquerc'h [Mon, 21 Nov 2011 17:01:49 +0000 (17:01 +0000)]
opusdec: skip pre-skip samples
Vincent Penquerc'h [Mon, 21 Nov 2011 12:50:22 +0000 (12:50 +0000)]
opusdec: read pre-skip from first header if available
Sebastian Pölsterl [Thu, 17 Nov 2011 10:33:56 +0000 (11:33 +0100)]
mpegtsparse: support more character set encodings
Support UTF-16BE, EUC-KR (KSX1001), GB2312 and ISO-10646/UTF8 text
encoding and fixed new line for multibyte encoding
https://bugzilla.gnome.org/show_bug.cgi?id=664257
Stefan Sauer [Tue, 22 Nov 2011 08:11:35 +0000 (09:11 +0100)]
playondemand: remove unported plugin from 0.8
These days one would do the effect e.g. using gnonlin.
Stefan Sauer [Tue, 22 Nov 2011 08:10:32 +0000 (09:10 +0100)]
speed: tiny doc blob clarification
Stefan Sauer [Mon, 21 Nov 2011 21:55:40 +0000 (22:55 +0100)]
freeverb: add a freeverb port
Freeverb is a public domain reverb implementation. Port it as a gstreamer
element and make use of gstreamer specific features (gap aware, disconts,
controller, ...).
Vincent Penquerc'h [Mon, 21 Nov 2011 12:02:28 +0000 (12:02 +0000)]
opusenc: reset tagsetter interface on stop
Vincent Penquerc'h [Mon, 21 Nov 2011 11:44:01 +0000 (11:44 +0000)]
opusdec: handle NULL packets (used for PLC)
Vincent Penquerc'h [Mon, 21 Nov 2011 11:28:10 +0000 (11:28 +0000)]
opusdec: light cleanup
Vincent Penquerc'h [Sun, 20 Nov 2011 13:07:27 +0000 (13:07 +0000)]
opusparse: parse raw opus packets
Vincent Penquerc'h [Sun, 20 Nov 2011 09:58:06 +0000 (09:58 +0000)]
opusenc: do not push header buffers
Opus headers appear only when muxed in Ogg, so only place them
on the caps, where oggmux will find them, but other elements will
be blithely unaware of them.
Vincent Penquerc'h [Sun, 20 Nov 2011 09:52:46 +0000 (09:52 +0000)]
opus: make opusparse set headers on caps
Header-on-caps code moved to a new shared location to avoid
duplicating the code.
Stefan Sauer [Mon, 21 Nov 2011 07:20:14 +0000 (08:20 +0100)]
smooth: port to 0.10
Port from GstElement to GstVideoFilter. Fix FIXMEs. Cleanup naming. Expose left
out property (kuma-only).
Stefan Sauer [Sun, 20 Nov 2011 19:16:03 +0000 (20:16 +0100)]
passthrough: remove obsolete element
It is not built by default. We have identity for some of the needs and otherwise
audio/videofilter base classes.
Stefan Sauer [Sun, 20 Nov 2011 19:08:47 +0000 (20:08 +0100)]
filter: remove filter plugin
We don't build it anyway and we have audioiirfilter in good.
Stefan Sauer [Sun, 20 Nov 2011 19:06:29 +0000 (20:06 +0100)]
inter: fix leftover boilerplace comments
Thiago Santos [Fri, 18 Nov 2011 06:31:32 +0000 (03:31 -0300)]
camerabin2: Also reset video/audio filters before capturing
Video and audio custom filter element should also be reset before
starting a new capture, otherwise we get wrong-state errors
Vincent Penquerc'h [Sat, 19 Nov 2011 15:58:09 +0000 (15:58 +0000)]
opusenc: fix terminating NUL being written in signature
Vincent Penquerc'h [Wed, 16 Nov 2011 19:40:20 +0000 (19:40 +0000)]
opusenc: make frame-size an enum
It only supports a set number of specific values (including
a non integer one).
Vincent Penquerc'h [Wed, 16 Nov 2011 19:22:44 +0000 (19:22 +0000)]
opusenc: the encoder might not make use of all the bytes
Stefan Sauer [Fri, 18 Nov 2011 18:28:26 +0000 (19:28 +0100)]
opencv: use caps constants more
Stefan Sauer [Fri, 18 Nov 2011 18:19:32 +0000 (19:19 +0100)]
opencv: fixup doc blobs