Commit graph

177 commits

Author SHA1 Message Date
Zaheer Merali
1650272b84 vorbisenc, theoraenc: Ensure gp is computed consistently + clip to segment
With vorbisenc, compute the granulepos with running time and clip incoming
buffers to segment.
With theoraenc, drop out of segment buffers.
2009-05-06 13:19:34 +01:00
Olivier Crete
c628641880 theoraenc: implement upstream keyframe force
Implement handling of upstream keyframe forcing.
Update the design documents too.
Fixes #578656
2009-04-14 18:21:45 +02:00
Olivier Crete
d0c3682627 theoraenc: factor out keyframe forcing
See #578656
2009-04-14 18:21:45 +02:00
Edward Hervey
219fe22293 theoradec: return GST_CLOCK_TIME_NONE for negative framecounts.
This fixes most seeking issues when used with gnonlin.
Fixes #543591
2009-04-04 15:47:17 +02:00
Edward Hervey
b7fdb7c6d7 theoradec: Use GST_CLOCK_TIME_NONE for invalid positions. Fixes #543591
The problem was that previously we didn't check whether _theora_granule_frame
returned a negative framecount or not, resulting in bogus timestamps.
2009-03-23 11:38:53 +01:00
Wim Taymans
9def0d8c61 theoraparse: be smarter when queuing headers
Look at the first byte of the buffer data (if we can) to decide if the packet is
a header packet or not instead of counting packets.
2009-03-13 15:27:51 +01:00
Jan Schmidt
e7d4250fc3 theoradec: Avoid an unnecessary memory allocation in vorbiscomment handling. 2009-03-13 11:48:28 +00:00
Wim Taymans
fac1d4cc09 theoradec: parse and use codec_data in the caps
Parse the codec_data in the caps and use this as the headers.
Fixes #574169.
2009-03-06 19:02:58 +01:00
Sebastian Dröge
2ab2bbd82c theoraparse: Use the correct unref functions 2009-02-22 19:19:04 +01:00
Benjamin M. Schwartz
d8a33f094c theoraenc: Add property for speed level control
Add property "speed-level" to control the amount of motion searching
the encoder does.  This is only available in libtheora >= 1.0 and
will silently fail with earlier libraries.  Fixes: #572275.

Signed-off-by: David Schleef <ds@schleef.org>
2009-02-19 12:38:57 -08:00
Wim Taymans
64b20fd7b5 Use rounded values for image strides and sizes
Round up the height before calculating the expected size and
strides of the output image.
2009-01-23 11:27:16 +01:00
Wim Taymans
f93fcafe64 ext/theora/: Parse segment events.
Original commit message from CVS:
* ext/theora/gsttheoraenc.h:
* ext/theora/theoraenc.c: (gst_theora_enc_init),
(theora_buffer_from_packet), (theora_push_packet),
(theora_enc_sink_event), (theora_enc_is_discontinuous),
(theora_enc_chain):
Parse segment events.
Pass incomming buffer timestamps to outgoing buffers.
Use the running_time to construct the granulepos.
Fixes #562163.
2008-11-25 15:14:30 +00:00
Wim Taymans
68eb1421af ext/theora/: Copy seqnum.
Original commit message from CVS:
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (gst_theora_dec_init),
(gst_theora_dec_reset), (theora_dec_src_event),
(theora_dec_sink_event), (theora_handle_type_packet):
Copy seqnum.
Keep events in a pending list, like vorbisdec, instead of trying
to construct a segment event ourselves.
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
(vorbis_dec_src_event), (vorbis_dec_sink_event):
* ext/vorbis/vorbisdec.h:
Copy seqnum.
2008-11-04 18:17:24 +00:00
Stefan Kost
2cd4c7e2b9 Don't install static libs for plugins. Fixes #550851 for base.
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/cdparanoia/Makefile.am:
* ext/gio/Makefile.am:
* ext/gnomevfs/Makefile.am:
* ext/libvisual/Makefile.am:
* ext/ogg/Makefile.am:
* ext/pango/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst/adder/Makefile.am:
* gst/audioconvert/Makefile.am:
* gst/audiorate/Makefile.am:
* gst/audioresample/Makefile.am:
* gst/audiotestsrc/Makefile.am:
* gst/ffmpegcolorspace/Makefile.am:
* gst/gdp/Makefile.am:
* gst/playback/Makefile.am:
* gst/subparse/Makefile.am:
* gst/tcp/Makefile.am:
* gst/typefind/Makefile.am:
* gst/videorate/Makefile.am:
* gst/videoscale/Makefile.am:
* gst/videotestsrc/Makefile.am:
* gst/volume/Makefile.am:
* sys/v4l/Makefile.am:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for base.
2008-10-16 15:07:00 +00:00
Edward Hervey
a0e3174c88 ext/theora/theoradec.c: Fix build on macosx.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_decode_buffer):
Fix build on macosx.
2008-10-14 11:13:59 +00:00
Robin Stocker
cf5c8e426d ext/theora/: Parse input caps and make the PAR override the encoded PAR when specified by a container. Fixes #555699.
Original commit message from CVS:
Based on patch by: Robin Stocker <robin at nibor dot org>
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (gst_theora_dec_init),
(theora_dec_setcaps), (theora_handle_type_packet),
(theora_dec_decode_buffer), (theora_dec_change_state):
Parse input caps and make the PAR override the encoded PAR when
specified by a container. Fixes #555699.
2008-10-13 11:36:13 +00:00
ogg.k.ogg.k
6b3fb42a47 ext/theora/theoraparse.c: Set the BOS flag on the BOS packet. Fixes #553244.
Original commit message from CVS:
Patch by: ogg.k.ogg.k <ogg dot k dot ogg dot k at googlemail dot com>
* ext/theora/theoraparse.c: (theora_parse_set_streamheader):
Set the BOS flag on the BOS packet. Fixes #553244.
2008-09-25 10:46:00 +00:00
David Schleef
23ca2ae3b1 ext/theora/theoraenc.c: Remove the 2000 kbit limit to bitrate, since it has no basis in libtheora.
Original commit message from CVS:
* ext/theora/theoraenc.c: Remove the 2000 kbit limit to bitrate,
since it has no basis in libtheora.
2008-08-13 00:59:07 +00:00
Stefan Kost
2b33c755b6 Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipe...
Original commit message from CVS:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-overrides.txt:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/gst-plugins-base-plugins.signals:
* docs/plugins/inspect/plugin-adder.xml:
* docs/plugins/inspect/plugin-alsa.xml:
* docs/plugins/inspect/plugin-audioconvert.xml:
* docs/plugins/inspect/plugin-audiorate.xml:
* docs/plugins/inspect/plugin-audioresample.xml:
* docs/plugins/inspect/plugin-audiotestsrc.xml:
* docs/plugins/inspect/plugin-cdparanoia.xml:
* docs/plugins/inspect/plugin-decodebin.xml:
* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
* docs/plugins/inspect/plugin-gdp.xml:
* docs/plugins/inspect/plugin-gnomevfs.xml:
* docs/plugins/inspect/plugin-libvisual.xml:
* docs/plugins/inspect/plugin-ogg.xml:
* docs/plugins/inspect/plugin-pango.xml:
* docs/plugins/inspect/plugin-playback.xml:
* docs/plugins/inspect/plugin-queue2.xml:
* docs/plugins/inspect/plugin-subparse.xml:
* docs/plugins/inspect/plugin-tcp.xml:
* docs/plugins/inspect/plugin-theora.xml:
* docs/plugins/inspect/plugin-typefindfunctions.xml:
* docs/plugins/inspect/plugin-uridecodebin.xml:
* docs/plugins/inspect/plugin-video4linux.xml:
* docs/plugins/inspect/plugin-videorate.xml:
* docs/plugins/inspect/plugin-videoscale.xml:
* docs/plugins/inspect/plugin-videotestsrc.xml:
* docs/plugins/inspect/plugin-volume.xml:
* docs/plugins/inspect/plugin-vorbis.xml:
* docs/plugins/inspect/plugin-ximagesink.xml:
* docs/plugins/inspect/plugin-xvimagesink.xml:
* ext/alsa/gstalsamixer.c:
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasrc.c:
* ext/gio/gstgiosink.c:
* ext/gio/gstgiosrc.c:
* ext/gio/gstgiostreamsink.c:
* ext/gio/gstgiostreamsrc.c:
* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/pango/gstclockoverlay.c:
* ext/pango/gsttextoverlay.c:
* ext/pango/gsttextrender.c:
* ext/pango/gsttimeoverlay.c:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/theora/theoraparse.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* ext/vorbis/vorbisparse.c:
* ext/vorbis/vorbistag.c:
* gst/adder/gstadder.c:
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/gdp/gstgdpdepay.c:
* gst/gdp/gstgdppay.c:
* gst/playback/gstdecodebin2.c:
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c:
* gst/playback/gstqueue2.c:
* gst/playback/gsturidecodebin.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gsttcpserversink.c:
* gst/videorate/gstvideorate.c:
* gst/videoscale/gstvideoscale.c:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c:
* sys/ximage/ximagesink.c:
* sys/xvimage/xvimagesink.c:
Cleanup Plugin docs. Link to signals and properties. Fix sub-section
titles. Drop mentining that all our example pipelines are "simple"
pipelines.
2008-07-10 21:06:06 +00:00
Wim Taymans
1a3053b241 Add theoraparse to the docs and fix some docs.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* ext/theora/theoraparse.c:
Add theoraparse to the docs and fix some docs.
2008-05-28 16:10:20 +00:00
Michael Smith
0947ecf74c ext/theora/theoradec.c: Cool kids don't divide by zero.
Original commit message from CVS:
* ext/theora/theoradec.c:
Cool kids don't divide by zero.
Treat PAR of x:0 as 1:1.
Fixes #530719.
2008-04-30 17:06:45 +00:00
Wim Taymans
495f45b245 ext/theora/theoradec.c: Don't try to do anything fancy with the return code from pushing an event, it does not have e...
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_handle_type_packet),
(theora_dec_chain):
Don't try to do anything fancy with the return code from pushing an
event, it does not have enough information to turn it into a
GST_FLOW_ERROR.
2008-04-03 10:22:33 +00:00
Sebastian Dröge
49deb0c05d Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u...
Original commit message from CVS:
* configure.ac:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init):
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_class_init):
* ext/gio/gstgiosink.c: (gst_gio_sink_class_init):
* ext/gio/gstgiosrc.c: (gst_gio_src_class_init):
* ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init):
* ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init):
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
* ext/pango/gsttextrender.c: (gst_text_render_class_init):
* ext/theora/theoradec.c: (gst_theora_dec_class_init):
* ext/theora/theoraenc.c: (gst_theora_enc_class_init):
* ext/theora/theoraparse.c: (gst_theora_parse_class_init):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_class_init):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_class_init):
* gst-libs/gst/interfaces/mixertrack.c:
(gst_mixer_track_class_init):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init):
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init):
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init):
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init):
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(preroll_unlinked):
* gst/playback/gstplaybin.c: (gst_play_bin_class_init):
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init):
* gst/playback/gstplaysink.c: (gst_play_sink_class_init):
* gst/playback/gstqueue2.c: (gst_queue_class_init):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init):
* gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
(gst_stream_selector_class_init):
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init):
* gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init):
* gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init):
* gst/videorate/gstvideorate.c: (gst_video_rate_class_init):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init):
* gst/videotestsrc/gstvideotestsrc.c:
(gst_video_test_src_class_init):
* gst/volume/gstvolume.c: (gst_volume_class_init):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init):
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init):
* sys/ximage/ximagesink.c: (gst_ximagesink_class_init):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use
static strings (i.e. all). This gives us less memory usage,
fewer allocations and thus less memory defragmentation. Depend
on core CVS for this. Fixes bug #523806.
2008-03-22 15:00:53 +00:00
Sebastian Dröge
13752e7fd8 ext/theora/theoraparse.c: Fix long description of the theora parser to be more verbose than just the type name.
Original commit message from CVS:
* ext/theora/theoraparse.c:
Fix long description of the theora parser to be more verbose than just
the type name.
2008-02-11 09:48:03 +00:00
Michael Smith
339a360a96 ext/theora/theoradec.c: Increment granulepos for new-bitstream versions appropriately.
Original commit message from CVS:
* ext/theora/theoradec.c: (_theora_granule_frame),
(_inc_granulepos):
Increment granulepos for new-bitstream versions appropriately.
Fixes #514623.
2008-02-06 13:35:58 +00:00
Jan Schmidt
7ff360cea9 ext/theora/: Take a 2nd stab at handling libtheora granulepos changes in the decoder and parser by inspecting the bit...
Original commit message from CVS:
* ext/theora/gsttheoradec.h:
* ext/theora/gsttheoraparse.h:
* ext/theora/theoradec.c:
* ext/theora/theoraparse.c:
Take a 2nd stab at handling libtheora granulepos changes in the decoder
and parser by inspecting the bitstream version of the incoming data.
2008-01-14 17:00:03 +00:00
Michael Smith
57fab036b1 ext/theora/theoradec.c: Adapt for post-alpha meaning of granulepos, when we have a newer version of libtheora.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_class_init),
(_theora_granule_frame), (_theora_granule_start_time),
(theora_dec_sink_convert), (theora_dec_decode_buffer):
Adapt for post-alpha meaning of granulepos, when we
have a newer version of libtheora.
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(theora_enc_get_ogg_packet_end_time), (theora_enc_sink_event),
(theora_enc_is_discontinuous), (theora_enc_chain):
Likewise.
* tests/check/Makefile.am:
Link libtheora into theoraenc test so we can check which version of
libtheora we're testing against.
* tests/check/pipelines/theoraenc.c: (check_libtheora),
(check_buffer_granulepos),
(check_buffer_granulepos_from_starttime), (GST_START_TEST),
(theoraenc_suite):
Adapt tests to check the values that are now defined for theora; make
the tests backwards-adapt the passed values if we're running against an
old libtheora.
Fixes #497964
2008-01-11 15:48:11 +00:00
Wim Taymans
80c1e3d27c Add draft design for forcing keyframes in encoders and implement in theoraenc.
Original commit message from CVS:
* docs/design/draft-keyframe-force.txt:
* ext/theora/theoraenc.c: (theora_enc_sink_event),
(theora_enc_chain):
Add draft design for forcing keyframes in encoders and implement in
theoraenc.
2007-06-05 15:59:00 +00:00
Michael Smith
b48b9fdc19 ext/theora/theoradec.c: Don't look inside 0-length packets (which indicate duplicated frames)
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_handle_data_packet):
Don't look inside 0-length packets (which indicate duplicated
frames)
2007-05-21 15:24:21 +00:00
Wim Taymans
9b188adc27 Small cleanups.
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_read_sector):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Small cleanups.
* ext/theora/theoradec.c: (theora_dec_sink_event):
Fix typo.
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_set_gst_timestamp):
Add some FIXME
* gst/playback/gstdecodebin.c: (queue_underrun_cb):
And some debug info when a FIXME path is hit.
2007-05-21 10:25:44 +00:00
Michael Smith
9b7339170b ext/theora/theoradec.c: gst_pad_push_event() does not return a GstFlowReturn!
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_handle_type_packet):
gst_pad_push_event() does not return a GstFlowReturn!
2007-05-09 11:54:32 +00:00
Michael Smith
db624febb8 ext/theora/: Don't push events (newsegment, tags) before initialising the decoder.
Original commit message from CVS:
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (gst_theora_dec_reset),
(theora_dec_sink_event), (theora_handle_comment_packet),
(theora_handle_type_packet), (theora_dec_change_state):
Don't push events (newsegment, tags) before initialising the
decoder.
This is neccesary for seeking to work correctly in gnonlin.
2007-05-07 11:43:31 +00:00
Julien Moutte
d299d1c063 ext/theora/theoradec.c: Calculate buffer duration correctly to generate a perfect stream (#433888).
Original commit message from CVS:
2007-04-27  Julien MOUTTE  <julien@moutte.net>

* ext/theora/theoradec.c: (_theora_granule_time),
(theora_dec_push_forward), (theora_handle_data_packet),
(theora_dec_decode_buffer): Calculate buffer duration correctly
to generate a perfect stream (#433888).
* gst/audioresample/gstaudioresample.c:
(audioresample_check_discont): Glib provides ABS.
2007-04-27 15:33:46 +00:00
Michael Smith
38db14cb22 ext/theora/: Track initialisation state; don't try to use encoder state if we're not initialised (it'll segfault).
Original commit message from CVS:
* ext/theora/gsttheoraenc.h:
* ext/theora/theoraenc.c: (theora_enc_sink_setcaps),
(theora_enc_sink_event), (theora_enc_change_state):
Track initialisation state; don't try to use encoder state if we're
not initialised (it'll segfault).
2007-04-19 16:58:53 +00:00
Thomas Vander Stichele
096abcf3d6 ext/theora/theoraenc.c (theora_buffer_from_packet, theora_enc_chain): Don't use pad_alloc_buffer_and_set_caps to crea...
Original commit message from CVS:
* ext/theora/theoraenc.c (theora_buffer_from_packet, theora_enc_chain):
Don't use pad_alloc_buffer_and_set_caps to create a small header
packet, or, worse, to create a big temporary video buffer using the
src pad.
2007-04-15 14:35:53 +00:00
Jan Schmidt
9b2d949a0f ext/theora/theoradec.c: Fix misleading comment.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_sink_event):
Fix misleading comment.
2007-04-13 11:42:34 +00:00
Michael Smith
7292973429 ext/theora/theoradec.c: Since the plugin doesn't support anything other than 4:2:0 right now, post an error and fail ...
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_handle_type_packet):
Since the plugin doesn't support anything other than 4:2:0 right
now, post an error and fail if we get something else. Won't matter
until libtheora supports the other pixel formats, but hopefully
that'll be soon...
2007-03-12 23:29:07 +00:00
Tim-Philipp Müller
a37616d4df ext/theora/theoraenc.c: Check return value of theora_encode_header(), or we might try to allocate a random number of ...
Original commit message from CVS:
* ext/theora/theoraenc.c: (theora_enc_chain):
Check return value of theora_encode_header(), or we might try to
allocate a random number of bytes. theora_encode_header() can fail
if libtheora has been compiled with encoding support disabled.
Fixes #398110.
2007-01-29 18:14:25 +00:00
Wim Taymans
62ef7da73b Small documentation updates/fixes
Original commit message from CVS:
* ext/theora/theoradec.c:
* ext/vorbis/vorbisdec.c:
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_commit_full):
* gst-libs/gst/audio/gstringbuffer.h:
* gst-libs/gst/rtp/gstrtpbuffer.c:
* gst-libs/gst/tag/gstvorbistag.c:
Small documentation updates/fixes
2007-01-09 11:15:57 +00:00
Thomas Vander Stichele
95ada43982 configure.ac: split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS so that GST_BASE_CFLAGS can go inbetwe...
Original commit message from CVS:
* configure.ac:
split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS
so that GST_BASE_CFLAGS can go inbetween them, making sure
we use uninstalled gst-libs headers
* docs/libs/Makefile.am:
* ext/alsa/Makefile.am:
* ext/cdparanoia/Makefile.am:
* ext/gnomevfs/Makefile.am:
* ext/libvisual/Makefile.am:
* ext/ogg/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/cdda/Makefile.am:
* gst-libs/gst/interfaces/Makefile.am:
* gst-libs/gst/riff/Makefile.am:
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/tag/Makefile.am:
* gst/adder/Makefile.am:
* gst/audioconvert/Makefile.am:
* gst/audiorate/Makefile.am:
* gst/audioresample/Makefile.am:
* gst/playback/Makefile.am:
* gst/tcp/Makefile.am:
* gst/videoscale/Makefile.am:
* gst/volume/Makefile.am:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
* tests/icles/Makefile.am:
adapt
2007-01-04 12:49:48 +00:00
Michael Smith
0230754d77 tests/check/pipelines/theoraenc.c: It would be very bad if, after a discont buffer, we thought every single following...
Original commit message from CVS:
* tests/check/pipelines/theoraenc.c: (check_buffer_granulepos),
(GST_START_TEST):
It would be very bad if, after a discont buffer, we thought every
single following buffer was also discont. So, add to the test to
ensure that this isn't the case.

* ext/theora/theoraenc.c: (theora_enc_is_discontinuous):
... it was the case. So fix it.
2006-11-30 12:50:42 +00:00
Wim Taymans
0a5978dfaf ext/theora/theoradec.c: Implement reverse playback.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_reset),
(theora_dec_push_forward), (theora_dec_push_reverse),
(theora_handle_data_packet), (theora_dec_decode_buffer),
(theora_dec_flush_decode), (theora_dec_chain_reverse),
(theora_dec_chain_forward), (theora_dec_chain):
Implement reverse playback.
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
(vorbis_dec_decode_buffer), (vorbis_dec_flush_decode),
(vorbis_dec_chain_forward):
Clear buffers used for reverse playback in _reset.
No need to set the eos flag, we clip samples using the segment.
2006-11-26 16:39:41 +00:00
Michael Smith
32500268de ext/theora/: Mark discontinuities of > 3/4 of a frame, reinit encoder.
Original commit message from CVS:
* ext/theora/gsttheoraenc.h:
* ext/theora/theoraenc.c: (gst_theora_enc_init),
(theora_enc_reset), (theora_enc_clear), (theora_enc_sink_setcaps),
(theora_buffer_from_packet), (theora_enc_is_discontinuous),
(theora_enc_chain), (theora_enc_change_state):
Mark discontinuities of > 3/4 of a frame, reinit encoder.

* tests/check/pipelines/theoraenc.c: (check_buffer_granulepos),
(GST_START_TEST), (theoraenc_suite):
Enable discontinuity test, fix it.
2006-11-22 14:34:03 +00:00
Wim Taymans
38a28fda01 ext/theora/: Document and partially implement an algorithm for doing reverse playback of theora video.
Original commit message from CVS:
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (gst_theora_dec_init),
(theora_dec_sink_event), (theora_dec_chain_forward),
(theora_dec_flush_decode), (theora_dec_chain_reverse),
(theora_dec_chain):
Document and partially implement an algorithm for doing reverse playback
of theora video.
2006-11-02 15:06:36 +00:00
Michael Smith
d24ba074b7 ext/theora/theoradec.c: Zero byte theora packets are valid and well-defined; don't warn on them.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_chain):
Zero byte theora packets are valid and well-defined; don't warn on
them.
2006-10-06 12:57:10 +00:00
Thomas Vander Stichele
280e2ca67b releasing 0.10.10
Original commit message from CVS:
releasing 0.10.10
2006-09-14 20:09:19 +00:00
Andy Wingo
b2f550b9c7 ext/theora/gsttheoraparse.h: ext/theora/theoraparse.c (gst_theora_parse_class_init) (theora_parse_dispose, theora_par...
Original commit message from CVS:
2006-08-05  Andy Wingo  <wingo@pobox.com>

* ext/theora/gsttheoraparse.h:
* ext/theora/theoraparse.c (gst_theora_parse_class_init)
(theora_parse_dispose, theora_parse_set_property)
(theora_parse_get_property, theora_parse_munge_granulepos)
(theora_parse_push_buffer, theora_parse_change_state): Add a
property 'synchronization-points' to fix badly synchronized oggs.
2006-08-05 17:08:05 +00:00
Wim Taymans
5f3f10861e ext/theora/theoradec.c: Better clipping.
Original commit message from CVS:
* ext/theora/theoradec.c: (clip_buffer):
Better clipping.
2006-07-21 11:03:28 +00:00
Andy Wingo
7e6940446a ext/theora/gsttheoraparse.h: ext/theora/theoraparse.c (theora_parse_drain_event_queue) (theora_parse_push_headers, th...
Original commit message from CVS:
2006-07-14  Andy Wingo  <wingo@pobox.com>

* ext/theora/gsttheoraparse.h:
* ext/theora/theoraparse.c (theora_parse_drain_event_queue)
(theora_parse_push_headers, theora_parse_clear_queue)
(theora_parse_drain_queue_prematurely, )
(theora_parse_sink_event, theora_parse_change_state): Queue events
until we initialized our state, like in vorbisparse.
2006-07-14 17:07:08 +00:00
Andy Wingo
a295acae0e theoraparse.c (theora_parse_push_buffer)
Original commit message from CVS:
2006-07-08  Andy Wingo  <wingo@pobox.com>

* theoraparse.c (theora_parse_push_buffer)
(theora_parse_drain_queue_prematurely, theora_parse_drain_queue):
Add some more debugging. Fix granulepos reconstruction in the face
of discontinuities.
2006-07-08 13:48:58 +00:00