Mark Nauwelaerts
81d2ba6c9d
[MOVED FROM BAD 075/134] vp8dec: debug code style fixes
2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
28ec65b5a4
[MOVED FROM BAD 074/134] vp8dec: propagate downstream flow return to upstream
2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
e8a200c6a2
[MOVED FROM BAD 073/134] basevideodecoder: really and only set src pad caps whenever requested
...
... since subclass is expected to be wise enough to know when to do so.
2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
47067f7d1e
[MOVED FROM BAD 072/134] basevideodecoder: invoke subclass start method at state change and use set_format
...
While this changes API slightly (e.g. actually uses set_format now), which is OK
for unstable API, it has following merits:
* symmetric w.r.t. stop at state change
* in line with other base class practice
* otherwise no subclass method at state change (global activation time)
Moreover, subclassese are either unaffected or trivially adjusted accordingly.
2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
e03fefc740
[MOVED FROM BAD 071/134] basevideodecoder: subsume skip_frame into finish_frame
2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
1d8a499ceb
[MOVED FROM BAD 070/134] basevideoencoder: provide proper upstream flow return handling
2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
ddd32f1b05
[MOVED FROM BAD 069/134] vp8enc: minor optimization in setting up image buffer
2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
b6ca1c8171
[MOVED FROM BAD 068/134] vp8enc: refactor frame processing
2012-09-16 15:27:14 +02:00
Mark Nauwelaerts
a24df7d3c7
[MOVED FROM BAD 067/134] vp8enc: do init at set_format time
2012-09-16 15:27:14 +02:00
Mark Nauwelaerts
33ec5fd08f
[MOVED FROM BAD 066/134] vp8enc: fix keyframe forcing
2012-09-16 15:27:14 +02:00
Mark Nauwelaerts
e68033782b
[MOVED FROM BAD 065/134] basevideocodec: remove redundant caps field
...
... as it is already at hand as the src pad's negotiated caps.
2012-09-16 15:27:14 +02:00
Mark Nauwelaerts
402879a52e
[MOVED FROM BAD 064/134] vp8enc: use baseclass event virtual handler
2012-09-16 15:27:14 +02:00
David Schleef
280354df3f
[MOVED FROM BAD 063/134] basevideo: merge utils header into basevideocodec
2012-09-16 15:27:14 +02:00
Tim-Philipp Müller
32505ef105
[MOVED FROM BAD 062/134] vp8: fix LIBADD order in Makefile.am
2012-09-16 15:27:14 +02:00
Alexey Fisher
4d5ad6d0ca
[MOVED FROM BAD 061/134] vp8enc: Add description for bitrate units.
2012-09-16 15:27:14 +02:00
David Schleef
7734336a97
[MOVED FROM BAD 060/134] vp8enc: Readd setting of granulepos
...
Revert parts of last patch that removed setting of granulepos.
oggmux still requires correct granulepos in incoming packet.
2012-09-16 15:27:14 +02:00
David Schleef
161b89d552
[MOVED FROM BAD 059/134] vp8enc: Don't override timestamps set by base class
...
Because the base class does it correctly.
Fixes : #635720 , #625558 .
2012-09-16 15:27:14 +02:00
Edward Hervey
785bf960dd
[MOVED FROM BAD 058/134] vp8: Remove dead assignments
2012-09-16 15:27:14 +02:00
David Schleef
49d0bcce24
[MOVED FROM BAD 057/134] basevideo: Move common fields/functions to basecodec
2012-09-16 15:27:14 +02:00
David Schleef
d1d6fe1b8d
[MOVED FROM BAD 056/134] basevideo: Move deadline to frame structure
2012-09-16 15:27:14 +02:00
Philip Jägenstedt
7af2375a46
[MOVED FROM BAD 055/134] vp8dec: Set GstBaseVideoDecoder::packetized to TRUE as soon as possible
...
This fixes an infinite loop if an EOS event is received before
GstBaseVideoDecoder::start() is called, e.g. immediately when the
pads are activated.
Fixes bug #626815 .
2012-09-16 15:27:14 +02:00
Sebastian Dröge
3509034bc9
[MOVED FROM BAD 054/134] vp8enc: Add support for enabling automatic insertion of alt-ref frames by the encoder
2012-09-16 15:27:14 +02:00
Sebastian Dröge
084d1588a9
[MOVED FROM BAD 053/134] vp8enc: Fix handling of invisible/alt ref frames
2012-09-16 15:27:14 +02:00
Sebastian Dröge
6be4d8efe0
[MOVED FROM BAD 052/134] vp8: Add initial documentation, based on the theoradec/theoraenc documentation
2012-09-16 15:27:14 +02:00
Sebastian Dröge
2856d8a6fa
[MOVED FROM BAD 051/134] vp8: Move structure definitions, etc to public header files for gtk-doc
2012-09-16 15:27:14 +02:00
Sebastian Dröge
83ffb384d0
[MOVED FROM BAD 050/134] vp8enc: Implement multipass encoding
...
Fixes bug #621348 .
2012-09-16 15:27:14 +02:00
Sebastian Dröge
7f3e1a1484
[MOVED FROM BAD 049/134] vp8enc: Set VP8E_SET_CPUUSED to 0
...
This setting controls how much CPU can be used by the encoder, specified
in fractions of 16. Negative values mean strict enforcement of this
while positive values are adaptive.
The default value is -4, which means that we're not running as fast
as possible and probably are wasting some quality. 0 is the recommended
default by libvpx upstream.
2012-09-16 15:27:14 +02:00
Sebastian Dröge
ec2c2b5fcc
[MOVED FROM BAD 048/134] vp8enc: Use VPX defines for REALTIME, GOOD/BEST quality deadlines instead of our own
...
These are the values used for the speed property.
2012-09-16 15:27:14 +02:00
Tim-Philipp Müller
87fee9151b
[MOVED FROM BAD 047/134] vp8enc: fix printf format warning in log message
...
gstvp8enc.c:564: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’
gstvp8enc.c:744: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’
2012-09-16 15:27:14 +02:00
Tim-Philipp Müller
86db423828
[MOVED FROM BAD 046/134] basevideo, vp8: guard unstable API with GST_USE_UNSTABLE_API
...
Add some guards and fat warnings to the header files with still unstable
API, so people who just look at the installed headers know that it
actually is unstable API.
Merging previous commit into current codebase.
2012-09-16 15:27:14 +02:00
David Schleef
b8cd2ec0f6
[MOVED FROM BAD 045/134] basevideo: Move base video from vp8 to gst-libs
2012-09-16 15:27:14 +02:00
Sebastian Dröge
2014a7eee2
[MOVED FROM BAD 044/134] vp8: Use VPX_PLANE_* instead of PLANE_*
2012-09-16 15:27:14 +02:00
Sebastian Dröge
b9e31e22c6
[MOVED FROM BAD 043/134] vp8: Add compatilibity defines to work with older versions of libvpx too
2012-09-16 15:27:14 +02:00
Philip Jägenstedt
70305a8088
[MOVED FROM BAD 042/134] vp8dec: s/IMG_FMT_I420/VPX_IMG_FMT_I420/
...
This corresponds to upstream libvpx commit 6cd4a10e167203d1deb79abf60ee72599e97891b
2012-09-16 15:27:14 +02:00
Sebastian Dröge
0de97a2e85
[MOVED FROM BAD 041/134] vp8enc: Allow a maximum keyframe distance of 0, i.e. all frames are keyframes
2012-09-16 15:27:14 +02:00
Sebastian Dröge
f431917418
[MOVED FROM BAD 040/134] vp8dec: Set decoder deadline from the QoS information
2012-09-16 15:27:14 +02:00
Sebastian Dröge
8e3994ad8f
[MOVED FROM BAD 039/134] vp8enc: Move debug output one line above where the packet is still valid
2012-09-16 15:27:13 +02:00
Sebastian Dröge
e0aa93f455
[MOVED FROM BAD 038/134] vp8enc: Correctly ignore non-frame packets from the encoder
...
Fixes bug #619916 .
2012-09-16 15:27:13 +02:00
Sebastian Dröge
951b3a1594
[MOVED FROM BAD 037/134] basevideodecoder: Take the frame duration into account when calculating the earliest time
...
This formula is used in many other elements too.
Fixes bug #619318 .
2012-09-16 15:27:13 +02:00
Sebastian Dröge
c90e9b3127
[MOVED FROM BAD 036/134] basevideodecoder: Reset QoS values when necessary
2012-09-16 15:27:13 +02:00
Sebastian Dröge
13dbfc2fa9
[MOVED FROM BAD 035/134] vp8enc: Use GST_VIDEO_CAPS_YUV(I420) instead of handwritten I420 caps for the pad template
...
Fixes bug #619344 .
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
c28c23b63d
[MOVED FROM BAD 034/134] vp8dec: drop late frames after decoding them
...
This saves a memcpy, which is always something.
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
ee152678af
[MOVED FROM BAD 033/134] vp8enc: threads property
...
Increasing from 1 to 2 threads on an Thinkpad X60s decreased encode time
in a test from ~24 s to ~19 s, so this is quite useful.
Ideally we should let 0 be the default and automatically match the number
of CPU cores (or something).
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
109a4f4e12
[MOVED FROM BAD 032/134] vp8enc: add mode property to switch between CBR/VBR
...
Always using CBR when bitrate is used isn't that great, VBR mode
can produce meaningful results too.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
d2d3aefa94
[MOVED FROM BAD 031/134] vp8dec: Only enable postprocessing if the decoder supports it
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
9918341dd0
[MOVED FROM BAD 030/134] vp8: typo: s/HAVE_VP8_DECODER/HAVE_VP8_ENCODER/
...
Fixup for bug #619172 .
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
7f56565f76
[MOVED FROM BAD 029/134] vp8: move #ifdef HAVE_VP8_ENCODER/DECODER
...
Otherwise we'll try including e.g. <vpx/vp8cx.h> which doesn't exist.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
70015da68e
[MOVED FROM BAD 028/134] vp8enc: Write GStreamer element and version in the vorbiscomment vendor string
2012-09-16 15:27:13 +02:00
Sebastian Dröge
9cb55fb96b
[MOVED FROM BAD 027/134] vp8: Only enable the encoder or decoder if it's available in libvpx
...
Fixes bug #619172 .
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
2c0d247ad9
[MOVED FROM BAD 026/134] vp8: exlcude dec/enc based on CONFIG_VP8_DECODER/ENCODER
...
This may not be very autotoolish, but works with libvpx in the state
that libvpx is actually in. Moved the debug init to the elements
themselves to minimize amount of #ifdefs
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
80d2b43443
[MOVED FROM BAD 025/134] vp8enc: Limit max-latency to 25 to match libvpx
...
From libvpx/vp8/encoder/onyx_int.h:
#define MAX_LAG_BUFFERS (CONFIG_REALTIME_ONLY? 1 : 25)
While we don't need to be tied to what libvpx does internally, it
doesn't make sense to pretend to support longer frame lags than are
actually possible.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
67adf511fd
[MOVED FROM BAD 024/134] vp8: Undef HAVE_CONFIG_H before including libvpx headers
...
A public libvpx header includes private headers if this is
defined, causing compilation failures because the private headers
are not installed of course.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
78fc2011db
[MOVED FROM BAD 023/134] vp8enc: Some more minor adjustments for the Ogg mapping
2012-09-16 15:27:13 +02:00
Sebastian Dröge
93def25c8a
[MOVED FROM BAD 022/134] vp8dec: Fix memory leak
2012-09-16 15:27:13 +02:00
Sebastian Dröge
b7e64c7c69
[MOVED FROM BAD 021/134] vp8enc: Adjust Ogg mapping for the changes
2012-09-16 15:27:13 +02:00
Sebastian Dröge
5ce64cf8ad
[MOVED FROM BAD 020/134] vp8dec: Add properties to control the VP8 decoder post processing feature
...
This is disabled by default for now.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
f4f6bc62f4
[MOVED FROM BAD 019/134] vp8enc: Rename keyframe-interval to max-keyframe-distance
...
And use default settings for buffer sizes until we expose this
somehow.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
6ce8a5609f
[MOVED FROM BAD 018/134] vp8: Improve error handling and debug output
2012-09-16 15:27:13 +02:00
Sebastian Dröge
3028d1abc0
[MOVED FROM BAD 017/134] vp8: Use correct strides and plane offsets for GStreamer
2012-09-16 15:27:13 +02:00
Sebastian Dröge
5d397656f9
[MOVED FROM BAD 016/134] vp8enc: Implement GstTagSetter interface
2012-09-16 15:27:13 +02:00
Sebastian Dröge
e3ede57f5e
[MOVED FROM BAD 015/134] vp8enc: Fix setting of the keyframe flag on encoded frames
2012-09-16 15:27:13 +02:00
Sebastian Dröge
b1f35fff9d
[MOVED FROM BAD 014/134] vp8enc: Post an error message on the bus if encoder initialization fails
2012-09-16 15:27:13 +02:00
Sebastian Dröge
087ecc20eb
[MOVED FROM BAD 013/134] vp8dec: Fix memory leaks and fail if initializing the decoder fails
2012-09-16 15:27:13 +02:00
David Schleef
ba0c0c6bbb
[MOVED FROM BAD 012/134] vp8enc: Set timebase
...
Also misc cleanup.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
dd38c5c993
[MOVED FROM BAD 011/134] vp8dec: Fix decoding of invisible frames
2012-09-16 15:27:12 +02:00
Sebastian Dröge
de308639da
[MOVED FROM BAD 010/134] vp8enc: Update the latency when initializing the encoder
2012-09-16 15:27:12 +02:00
Sebastian Dröge
42300e5ee7
[MOVED FROM BAD 009/134] vp8dec: Correctly initialize stream info before peeking at the stream
...
Otherwise peeking will fail and we'll get invalid values
2012-09-16 15:27:12 +02:00
Sebastian Dröge
08a5311f85
[MOVED FROM BAD 008/134] vp8dec: Make sure to pass a keyframe as first frame to the decoder, copy output frames only once and require width/height/etc on the input caps
2012-09-16 15:27:12 +02:00
Sebastian Dröge
091ba8f6aa
[MOVED FROM BAD 007/134] vp8enc: Add support for invisible frames and the Ogg mapping
2012-09-16 15:27:12 +02:00
David Schleef
75d31dabe8
[MOVED FROM BAD 006/134] vp8dec: Fix reset after seeking
...
Also remove some unused code.
2012-09-16 15:27:12 +02:00
Sebastian Dröge
4a733f9083
[MOVED FROM BAD 005/134] vp8enc: Set frame numbers as buffer offsets
2012-09-16 15:27:12 +02:00
Sebastian Dröge
4d3759bbe6
[MOVED FROM BAD 004/134] vp8enc: Always get as many frames as possible from the encoder
2012-09-16 15:27:12 +02:00
Sebastian Dröge
522e0cb779
[MOVED FROM BAD 003/134] vp8enc: Fill the oldest pending frame instead of the newest
2012-09-16 15:27:12 +02:00
Sebastian Dröge
5f7655d481
[MOVED FROM BAD 002/134] vp8enc: Correctly set delta unit flag for non-keyframes
2012-09-16 15:27:12 +02:00
David Schleef
a27682279d
[MOVED FROM BAD 001/134] vp8: Add encoder/decoder
2012-09-16 15:27:12 +02:00
Mark Nauwelaerts
a32398fee5
replace gst_element_class_set_details_simple with gst_element_class_set_metadata
2012-09-14 17:07:40 +02:00
Wim Taymans
829c80ce6c
fix more caps
2012-09-14 13:30:37 +02:00
Wim Taymans
e59498c33d
pulsesrc: disable reconfigure
...
See https://bugzilla.gnome.org/show_bug.cgi?id=683902
2012-09-13 10:25:48 +02:00
Stefan Sauer
f874922e1c
collectpads: remove gst_collect_pads_add_pad_full
...
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:05:44 +02:00
Mark Nauwelaerts
f12ef67f56
ext, gst: only activate in pull mode if upstream is seekable
2012-09-11 17:44:51 +02:00
Wim Taymans
c47c410e7b
pulsesrc: consider stream alive when not connected yet
...
When we start and renegotiate, there is a moment where the stream is created but
not yet connected. Make sure all functions deal with this situation correctly
instead of erroring out.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681247
2012-09-10 13:35:15 +02:00
Wim Taymans
619b2bd1a9
pulsesrc: don't fail when not negotiated yet
...
When get_time is called but we are not yet negotiated, return 0 instead of
posting an error. It's possible that the base class is still negotiating when
our get_time is called.
2012-09-10 12:15:25 +02:00
Wim Taymans
497ff16355
update for audio base src api change
2012-09-10 11:32:25 +02:00
Wim Taymans
148ab7539b
pulse: improve debug
2012-09-06 10:43:52 +02:00
Mark Nauwelaerts
8d53318e22
dvdemux: remove obsolete update newsegment handling code
2012-09-05 11:50:05 +02:00
Tim-Philipp Müller
b27ac94af2
gst_message_new_duration -> gst_message_new_duration_changed
2012-09-02 01:31:53 +01:00
Mark Nauwelaerts
67f3d6ac16
gdkpixbuf: adjust to modified video overlay composition API
2012-08-30 12:21:01 +02:00
Tim-Philipp Müller
4bb52bbadf
docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert
2012-08-27 21:20:30 +01:00
Tim-Philipp Müller
e4cb67fad8
docs: gst-launch-0.11 -> gst-launch-1.0
2012-08-27 21:20:29 +01:00
Sjoerd Simons
01665d9da3
pulsesrc: Only print caps if they're provided
2012-08-27 09:00:45 +02:00
Arun Raghavan
ef9c81d495
pulsesrc: Handle negotiation events
...
This makes sure that we:
a) Destroy an existing stream if a negotiate() request comes in: this is
required when receiving a downstream renegotiation request after a
stream has been created.
b) Create a new stream on prepare(): this is required since we do a
setcaps() in negotiate(), which causes the stream to be dropped by a
ringbuffer release() call (this does not happen during first negotiation
since the release is only done on a running ringbuffer). The subsequent
call to ringbuffer acquire() fails because the stream was lost on
release().
https://bugzilla.gnome.org/show_bug.cgi?id=681247
2012-08-22 11:38:42 +02:00
Arun Raghavan
1a8512986a
pulse: Clear unpositioned flag when setting positions
...
If converting a PA channel map to gst channel positions results in a
valid set of channel positions, we clear the unpositioned flag from the
ringbuffer spec.
2012-08-22 11:38:42 +02:00
Arun Raghavan
e317d88eaa
pulsesrc: Remove redundant channel-mask setting for stereo case
...
The gstaudio helper libraries already take care of this case for us.
2012-08-22 11:38:41 +02:00
Arun Raghavan
fe83843abe
pulsesrc: Don't use memset to set invalid channel positions
...
This itereates over the GstAudioInfo to set invalid channel positions
rather than use memset() which works right now because it assumes that
GST_AUDIO_CHANNEL_POSITION_INVALID is -1.
2012-08-22 11:38:41 +02:00
Tim-Philipp Müller
2c69684b80
gdkpixbufsink: minor docs improvement
2012-08-22 10:30:04 +01:00
Tim-Philipp Müller
c71248662d
gdkpixbuf: re-enable already-ported gdkpixbufsink
2012-08-22 10:23:24 +01:00
Tim-Philipp Müller
39411ab4eb
gdkpixbuf: port gdkpixbufoverlay element to 0.11
2012-08-22 10:14:39 +01:00
Tim-Philipp Müller
582bfea738
gdkpixbuf: re-enable already-ported gdkpixbuf element as gdkpixbufdec
...
Not sure why it as disabled exactly given that it had already
been ported (though without metas or baseclass).
Move plugin_init bits into separate source file, and rename
decoder element to gdkpixbufdec.
2012-08-22 10:14:39 +01:00
Tim-Philipp Müller
58037b75b2
gdkpixbuf: remove old and unused gst_loader source file
...
Once upon a time used to load GStreamer vids via GdkPixbuf API.
2012-08-22 10:14:39 +01:00
Anton Belka
59186f970d
flacenc: allow a TOC with single alternative top-level entry
...
Allow a TOC that has a single alternative top-level entry
with multiple sequence sub-entries
https://bugzilla.gnome.org/show_bug.cgi?id=540891
2012-08-10 14:24:28 +02:00