Wim Taymans
7402d3a3d2
update for _get_caps() -> _query_caps()
2011-11-15 18:04:17 +01:00
Wim Taymans
ab9ffa93f5
change getcaps to query
...
Add sink and src event functions in rtpbasepayload
Add query vmethod to rtpbasepayload.
2011-11-15 18:04:16 +01:00
Wim Taymans
e338792ab0
update for adapter api changes
2011-11-10 18:32:39 +01:00
Wim Taymans
372b9329b9
remove query types
2011-11-09 11:47:54 +01:00
Wim Taymans
8c8fcf4d3b
Merge branch 'master' into 0.11
2011-11-07 17:18:06 +01:00
Vincent Penquerc'h
5d3852d91a
theoraenc: fix speed level failure test
...
It was testing the opposite of what it thought it was.
https://bugzilla.gnome.org/show_bug.cgi?id=663390
2011-11-07 12:27:16 +00:00
Vincent Penquerc'h
a81cb3ef7f
theoraenc: make logically static const data just so
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:15 +00:00
Vincent Penquerc'h
c1aab3e0a7
theoraenc: use th_packet_iskeyframe instead of peeking at bits
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:14 +00:00
Vincent Penquerc'h
ffbe58fd5a
theoraenc: trivial comment typos fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:13 +00:00
Vincent Penquerc'h
0c4ccb4f9c
theoraenc: warn when trying to set an ignored obsolete property
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:12 +00:00
Vincent Penquerc'h
10811d63f9
theoraenc: refuse to get to READY if the encoder was disabled
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:11 +00:00
Wim Taymans
a5fa136c0b
update for tag API removal
2011-11-02 12:11:16 +01:00
Wim Taymans
e067e67923
rename meta* -> *meta
2011-11-02 09:04:27 +01:00
Tim-Philipp Müller
5ee51e47a1
ext, gst, gst-libs, tests: update for tag list API changes
2011-10-31 14:22:39 +00:00
Edward Hervey
17bfba09f1
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggdemux.c
ext/pango/gsttextoverlay.c
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/audio/gstbaseaudiosrc.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
2011-09-23 18:27:11 +02:00
Thomas Vander Stichele
d223a6dd59
theoraenc: Fix descriptions of properties
2011-09-11 14:22:59 -04:00
Sebastian Dröge
0f654f3feb
Merge branch 'master' into 0.11
...
Conflicts:
docs/libs/Makefile.am
tests/check/elements/decodebin2.c
2011-09-08 14:42:00 +02:00
Vincent Penquerc'h
cea0ac790f
theoraenc: do not automatically override quality when using target bitrate
...
If both quality and bitrate are set, libtheora will try to meet
both constraints, causing it to prefer emitting a smaller number
of good frames, to emitting the full number of frames that would
not meet the requested quality. This causes a slideshow effect
when the bitrate is low and the quality is high. And the default
theoraenc is high (48/63).
So only set quality when it is requested, and leave it unset
otherwise.
https://bugzilla.gnome.org/show_bug.cgi?id=658443
2011-09-07 13:27:33 +02:00
Wim Taymans
e1287b97ab
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggmux.c
gst-libs/gst/audio/audio.c
gst-libs/gst/audio/audio.h
gst-libs/gst/audio/multichannel.h
gst-libs/gst/pbutils/Makefile.am
gst-libs/gst/pbutils/gstdiscoverer.c
gst/playback/gstplaysinkaudioconvert.c
gst/playback/gstplaysinkvideoconvert.c
win32/common/libgstaudio.def
2011-08-29 11:37:36 +02:00
Vincent Penquerc'h
02763b2fa2
theoraenc: fix caps leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=657333
2011-08-25 15:17:01 +01:00
Wim Taymans
e78b66f5a3
video: fix chroma-site enums
2011-08-23 20:34:24 +02:00
Wim Taymans
9ad89374a3
video: add colorimetry info
...
Make enums for the chroma siting for easier use in the videoinfo.
Make enums for the color range, color matrix, transfer function and the
color primaries. Add these values to the video info structure in a Colorimetry
structure. These values define the exact colors and are needed to perform
correct colorspace conversion. Use a couple of predefined colorimetry specs
because in practice only a few combinations are in use.
Add view_id to the video frames to identify the view this frame represents in
multiview video.
Remove old gst_video_parse_caps_framerate, use the videoinfo for this.
Port elements to new colorimetry info.
Remove deprecated colorspace property from videotestsrc.
2011-08-23 18:57:35 +02:00
Wim Taymans
33467d9629
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
ext/pango/gsttextoverlay.c
ext/theora/gsttheoradec.c
gst/adder/gstadder.c
gst/adder/gstadder.h
gst/audioresample/gstaudioresample.c
gst/encoding/gstencodebin.c
gst/playback/gstdecodebin.c
gst/playback/gstdecodebin2.c
tests/check/elements/decodebin2.c
tests/check/elements/playbin-compressed.c
win32/common/libgsttag.def
2011-08-16 18:01:14 +02:00
Josep Torra
5629ed74b3
Fix debug statements
...
Fixes build on MacOSX
Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
2011-08-10 11:15:41 +02:00
Philip Jägenstedt
7d22d91fca
theoradec: segfault on 0-byte ogg_packet in _chain_reverse
2011-08-03 10:03:00 +02:00
Wim Taymans
5a85e1d75f
base: update for new bufferpool API
2011-07-29 17:15:39 +02:00
Wim Taymans
57157694a5
the
2011-07-19 18:31:23 +01:00
Wim Taymans
1b8ef683ce
theoradec: make sure our buffer is big enough
...
Make sure we allocate a buffer that is big enough.
2011-07-19 18:21:42 +01:00
Tim-Philipp Müller
34955ac34d
theoraenc: remove some unused code that caused a compiler warning
...
The video format is set up in the sink pad's setcaps() function.
2011-07-05 10:04:42 +01:00
Wim Taymans
ddce68a5c2
video: More video helper library improvements
...
Make a new GstVideoFormatinfo structure that contains the specific information
related to a format such as the number of planes, components, subsampling,
pixel stride etc. The result is that we are now able to introduce the concept of
components again in the API.
Use tables to specify the formats and its properties.
Use macros to get information about the video format description.
Move code to set strides, offsets and size into one function.
Remove methods that are not handled with the structures.
Add methods to retrieve pointers and strides to the components in the video.
2011-07-04 16:01:14 +02:00
Wim Taymans
558cb821e4
theoradec: use cropping metadata
2011-06-23 18:02:40 +02:00
Wim Taymans
0530b609aa
theoradec: enable video metadata in the bufferpool
...
Enable the video metadata in the bufferpool.
2011-06-20 13:30:07 +02:00
Wim Taymans
6d9e76f2de
video: remove intermediate Plane structure
...
Remove the GstVideoPlane structure and move the fields directly into the
GstVideoInfo structure. This makes things a little easier to read and also makes
it more likely that we can pass the stride array to external libraries.
2011-06-20 11:25:58 +02:00
Wim Taymans
d93129d8da
-base: port to GstVideoFrame API
2011-06-17 15:41:31 +02:00
Wim Taymans
d06f599193
-base: port elements to new video caps
2011-06-16 12:52:13 +02:00
Wim Taymans
0d44940076
theoradec: use _check_reconfigure method
2011-06-13 12:15:33 +02:00
Wim Taymans
1c8324a0d1
update for bufferpool api change
2011-06-11 18:54:44 +02:00
Wim Taymans
9778d5dac7
update for alignment change
2011-06-10 18:04:29 +02:00
Wim Taymans
2940249a84
-base: use caps event
...
Remove uses of setcaps function and use the caps event.
2011-06-07 11:55:36 +02:00
Wim Taymans
c88ee10c9b
Merge branch 'master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
2011-06-06 16:27:12 +02:00
Luis de Bethencourt
8b18508778
theora: separate encode and push block in chain, into own function.
2011-06-04 10:10:54 +02:00
Wim Taymans
ff071135cb
thoeraenc: port to 0.11
2011-06-03 13:35:49 +02:00
Wim Taymans
b1aec14767
Merge branch 'master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
2011-06-03 13:31:42 +02:00
Luis de Bethencourt
407b77740e
theora: use fixed src cap pads
2011-06-03 08:00:58 +02:00
Luis de Bethencourt
1ce538d912
theora: set the width/height/par on the srcpad caps
2011-06-03 08:00:53 +02:00
Luis de Bethencourt
ddfc8357a8
theora: get sink caps info from downstream element pad
...
https://bugzilla.gnome.org/show_bug.cgi?id=651564
2011-06-03 08:00:48 +02:00
Sebastian Dröge
bf08ca7020
Merge branch 'master' into 0.11
2011-05-26 13:54:09 +02:00
Stefan Kost
41b60ca83a
theoraenc: remove bogus <0 check for unsigned var
...
bytes_written is a gsize which is unsigned and thus never < 0.
2011-05-25 15:26:13 +03:00
Stefan Kost
af29082e94
theoraenc: fix variable type for bytes_consumed
...
th_encode_ctl() returns an int. Using a gsize result in bogus <0 checks.
2011-05-25 15:26:13 +03:00
Wim Taymans
3b35a83688
theoradec: handle reconfigure events
...
Handle the caps with the caps event.
Handle the reconfigure event and renegotiate the bufferpool when needed.
2011-05-24 10:46:48 +02:00
Sebastian Dröge
884213b8b8
base: Update for SEGMENT event parse API changes
2011-05-18 17:23:18 +02:00
Sebastian Dröge
318ed07598
Revert "-base_port to new query API"
...
This reverts commit c9f4e0676b
.
2011-05-17 11:25:31 +02:00
Sebastian Dröge
c276eec54e
theora: Update for negotiation related API changes
2011-05-16 15:35:41 +02:00
Wim Taymans
94dfe80f71
-base: port to new SEGMENT API
2011-05-16 13:48:11 +02:00
Wim Taymans
c9f4e0676b
-base_port to new query API
2011-05-10 18:39:07 +02:00
Wim Taymans
bdb4676455
qos: _qos_full -> _qos
2011-05-09 18:53:03 +02:00
Wim Taymans
816f4e791d
segment: fix for new core API
...
Fix for gst_*_segment_full rename.
2011-05-09 18:16:46 +02:00
Wim Taymans
5acab64178
theora/vorbis: use default pad handler
...
Use the default pad event handler because we are not supposed to pass on CAPS
events.
2011-05-09 15:37:09 +02:00
Wim Taymans
ec57868488
-base: don't use buffer caps
...
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Wim Taymans
abcbef287d
plugins: fix for allocation query API change
2011-05-02 11:11:33 +02:00
Wim Taymans
d6f8fb62c5
theoradec: use bufferpool
2011-04-29 16:52:23 +02:00
Wim Taymans
86a4771f8e
remove buffer_alloc
2011-04-29 13:28:17 +02:00
Sebastian Dröge
353186aec8
ext: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-04-19 14:22:42 +02:00
Wim Taymans
4007076b55
Merge branch 'master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
2011-04-06 16:33:56 +02:00
Mark Nauwelaerts
9cf76f114f
theoraenc: refactor multipass file writing
2011-04-06 12:26:11 +02:00
Wim Taymans
248ab2d064
Fix for latest API changes
2011-03-30 16:50:45 +02:00
Wim Taymans
eba165191f
theora: port to new memory API
2011-03-27 20:15:46 +02:00
Wim Taymans
f379a5dacb
plugins: more porting to new memory API
2011-03-27 18:30:24 +02:00
David Schleef
9745a41ea3
theoraenc: move debug category init earlier
2011-02-17 18:29:56 -08:00
David Schleef
f499810bdc
theoraenc: Set speed level while running
2011-02-17 18:29:56 -08:00
Ralph Giles
d467eb708a
Set the theoraenc speed-level property from libtheora's defaults.
...
The speed-level property, which allows callers to trade of encoding
quality for speed in the libtheora api, has a version-dependent
maximum and default values. Instead of hardcoding the acceptable
range for the theoraenc element's presentation of this setting,
we query the library directly at class initialization time and
set the maximum and default values from that. If the query fails,
we fall back to the previous default setting.
To keep the values reported by gst-inspect (which I'm told use
the spec values from the class) with those available on an\
instantiated element, we remove to setting of enc->speed_level
from the initializer and instead pass G_PARAM_CONSTRUCT to
the property spec flags, asking g_object to set this property
when theoraenc objects are constructed.
NB in theory the maximum speed-level could depend on the actual
video caps. If later versions of libtheoraenc do this, a second
call will need to be made from theora_enc_reset to update the
property, since this function is mostly useful for realtime
adjustment of performance while the pipeline is running.
2011-02-17 18:29:56 -08:00
Sjoerd Simons
46f3e7c6fd
theoraenc: Don't reset the video quality setting the bitrate
...
libtheora has two encoding modes, CBR, where it tries to hit a target
bitrate and VBR where it tries to achieve a target quality.
Internally if the target bitrate is set to anything other then 0 the
encoding-mode is CBR.
This means that the gstreamer element can leave the video_quality
setting alone as long as the user is tweaking the bitrate. Which has the
nice side-effect that if the user explicitely sets the bitrate to 0
(which is actually the default), the quality value doesn't get reset and
one ends up encoding VBR at quality-level 0...
2011-02-14 16:03:56 +01:00
Tim-Philipp Müller
9805bdfcc8
theoraenc: clean up property descriptions
...
Remove "This property requires libtheora version >= 1.1" qualifiers
from property descriptions. They aren't needed any longer now that
we require libtheora >= 1.1.
2011-02-01 16:08:13 +00:00
Stefan Kost
83c14483ed
various: add a missing G_PARAM_STATIC_STRINGS flag to object properties
2010-10-13 16:13:31 +03:00
Tim-Philipp Müller
a044b62cf5
theoradec: expose telemetry properties only if libtheora was compiled with --enable-telemetry
...
Since this is just a debugging feature and libtheora will usually not be
compiled with that option enabled, we should maybe just hide these properties,
since they won't work anyway, and avoid confusing warnings.
Also rename properties to make them less cryptic.
https://bugzilla.gnome.org/show_bug.cgi?id=628488
2010-10-10 18:20:46 +01:00
Alexey Fisher
ab52e15e3d
theoradec: add properties to enable debugging telemetry overlay
...
The theora decoder can overlay debugging information on the output
video. This functionality is only available if libtheora has been
compiled with --enable-telemetry. For more details see:
http://people.xiph.org/~xiphmont/demo/theora/demo2.html
Based on original patch by Michael Smith <msmith at xiph org>
https://bugzilla.gnome.org/show_bug.cgi?id=628488
2010-10-10 18:20:46 +01:00
Wim Taymans
88cf7a2156
parse: Don't error on discont
...
We don't need to error out when we detect a discontinuity.
2010-10-04 17:27:00 +02:00
Wim Taymans
3d26fc3d8f
theoraparse: set caps on streamheader too
2010-10-04 17:09:39 +02:00
David Schleef
71f89ac092
theoraenc: ptalarbvorm speed level goes to 3
2010-09-24 21:30:44 -07:00
Olivier Crête
91f89f490c
theoraenc: Make the bitrate/quality dynamically modifiable
...
https://bugzilla.gnome.org/show_bug.cgi?id=630303
2010-09-22 11:41:13 -04:00
Sebastian Dröge
c95d0034af
theoraenc: Implement two pass encoding
...
Fixes bug #621349 .
2010-07-16 17:40:12 +02:00
Sebastian Dröge
5318e71b4d
configure: Require libtheora >= 1.1
...
It's more than a year old at the time of the next -base release,
has many encoder and decoder improvements and gets us rid of a lot
of #ifdefs
2010-07-16 17:39:22 +02:00
Sebastian Dröge
ecea88e0d2
theora: Use PROP_ instead of ARG_ for property enum values
2010-07-16 17:39:22 +02:00
David Schleef
681721466d
theoraenc: 0-length packets are delta units
2010-03-29 20:54:46 -07:00
Wim Taymans
9c8c93806d
theoradec: add QoS messages to the decoder
...
Post QoS messages when we drop a frame because of QoS.
2010-03-19 15:37:04 +01:00
Benjamin Otte
3bd4aa26ff
Add -Wwrite-strings to configure
...
Fixes for the code included
2010-03-16 17:41:51 +01:00
Benjamin Otte
5e21fa5e0e
gst_element_class_set_details => gst_element_class_set_details_simple
...
Also change my email from the old university one to the current one.
2010-03-16 17:41:50 +01:00
David Schleef
ed438e5539
theoradec: add chroma-site to caps
2010-03-15 01:34:09 -07:00
David Schleef
085d7e20bd
theoradec: add color-matrix to caps
2010-03-14 19:10:16 -07:00
Benjamin Otte
3a7d632a59
Add -Wredundant-decls to warning flags
...
... and fix all the warnings that flag throws.
2010-03-11 15:38:18 +01:00
Benjamin Otte
43b1683421
Add -Wmissing-declarations -Wmissing-prototypes to warning flags
...
Includes all the fixes necessary to make stuff compile again.
2010-03-11 13:50:31 +01:00
Benjamin Otte
1ad8d6ee03
theora: Fix SIGFPE when using 0/1 framerate
...
libtheora crashes with a 0 framerate, so let's forbid it.
https://bugzilla.redhat.com/show_bug.cgi?id=571289
2010-03-08 22:28:27 +01:00
David Schleef
5685e0a4b7
theoradec: Fix chroma copying for 4:2:2
...
Fix mixup of height/width, causing only half the chroma lines to
be copied when outputting buffers. Fixes : #610329 .
2010-02-17 21:30:29 -08:00
Benjamin M. Schwartz
a09d9fdece
theoradec: PARs of 0:x, x:0 and 0:0 are all allowed and map to 1:1
...
Fixes #609252 .
2010-02-08 11:21:35 +01:00
Sebastian Dröge
82f3adaa9b
theora: Rename source files to have the same name as the headers
2010-01-14 10:10:23 +01:00
David Schleef
b3c15a340a
theoraenc: Add encoder controls for libtheora 1.1
...
Added drop-frames, cap-overflow, cap-underflow, and rate-buffer.
2009-12-20 17:34:46 -08:00
Wim Taymans
1a7c8c7919
theoradec: fix query
2009-12-09 17:24:01 +01:00
Wim Taymans
f1fdf5d3e4
theoradec: small cleanups
2009-12-09 16:55:52 +01:00
Wim Taymans
1818d795ee
theora: remove granulepos hacks
...
Remove the granulepos hacking now that oggdemux outputs timestamps like any
other demuxer.
2009-12-08 17:37:56 +01:00
Wim Taymans
05f4605180
theoradec: don't fail on bogus granulepos
...
Do some additional checks on the granulpos timestamp before using it for
calculating the duration because oggdemux generates wrong granulepos now.
Fixes seeking somewhat again.
2009-12-04 12:26:47 +01:00