Commit graph

296 commits

Author SHA1 Message Date
Wim Taymans
1dae961cbf Plugin port to 0.9, ogg/theora playback should work in the seek example now.
Original commit message from CVS:
Plugin port to 0.9, ogg/theora playback should work in the seek
example now.
Removed old examples.
Removed old oggvorbisenc, renamed rawvorbisenc to vorbisenc as
explained in 0.9 TODO doc.
2005-03-31 09:43:49 +00:00
Tim-Philipp Müller
0df042ef00 Set granulepos and timestamp correctly for streams not starting at 0, taking into account the initial delay
Original commit message from CVS:
Set granulepos and timestamp correctly for streams not starting at 0, taking into account the initial delay
2005-01-31 19:23:08 +00:00
Ronald S. Bultje
8a234abada ext/theora/theoradec.c: Fix broken code generation by gcc by swapping arguments.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_chain):
Fix broken code generation by gcc by swapping arguments.
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query):
Fix \n in debug.
2005-01-10 18:45:53 +00:00
Ronald S. Bultje
f74ad551ef ext/theora/theoradec.c: Fix ilog mask range overflow.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_chain):
Fix ilog mask range overflow.
2004-11-26 12:25:44 +00:00
Ronald S. Bultje
3d4fb38877 ext/ogg/gstoggdemux.c: Let's act as if we're synchronized now! :).
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (get_relative), (gst_ogg_demux_src_query),
(gst_ogg_demux_push), (gst_ogg_pad_push):
Let's act as if we're synchronized now! :).
* ext/theora/theoradec.c: (theora_dec_chain):
Add some debug.
2004-11-08 17:02:07 +00:00
Ronald S. Bultje
61ab6a6089 ext/: Add codec-name metadata.
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flacdec_update_metadata):
* ext/speex/gstspeexdec.c: (speex_dec_chain):
* ext/theora/theoradec.c: (theora_dec_chain):
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
Add codec-name metadata.
2004-10-25 16:10:58 +00:00
Ronald S. Bultje
3dfce58f84 ext/theora/theoradec.c: Export bitrate as metadata.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_chain):
Export bitrate as metadata.
2004-10-25 15:31:51 +00:00
Ronald S. Bultje
607b2e45bf ext/: Seeking and querying finetune.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (gst_ogg_pad_push):
* ext/theora/theoradec.c: (theora_dec_sink_convert),
(theora_dec_chain):
* ext/vorbis/vorbisdec.c: (vorbis_dec_get_formats),
(gst_vorbis_dec_init), (vorbis_dec_convert), (vorbis_dec_chain):
Seeking and querying finetune.
2004-10-20 16:24:18 +00:00
Ronald S. Bultje
d38dcfaaab ext/ogg/gstoggdemux.c: Start at zero.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (gst_ogg_pad_push):
Start at zero.
* ext/theora/theoradec.c: (theora_dec_chain):
Skip headers. Bad idea for chained ogg, but fixes seeking.
2004-10-18 15:49:00 +00:00
Ronald S. Bultje
b5ce9ade82 ext/ogg/gstoggdemux.c: Faster seeking.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (gst_ogg_pad_populate),
(_read_bos_process), (gst_ogg_demux_iterate), (gst_ogg_pad_new):
Faster seeking.
* ext/theora/theoradec.c: (theora_dec_sink_convert):
Time-to-default conversion.
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
Don't error on unknown packets, just skip. We should probably
read them if we want to support chained ogg.
2004-10-18 15:23:41 +00:00
Scott Wheeler
abf9990e25 pre-C99 fixes
Original commit message from CVS:
pre-C99 fixes
2004-09-02 02:48:46 +00:00
Thomas Vander Stichele
f9355c4a9c fix #151462
Original commit message from CVS:
fix #151462
2004-08-31 08:45:47 +00:00
Wim Taymans
a7c8944d57 Fix the makefile again
Original commit message from CVS:
Fix the makefile again
2004-08-17 10:46:34 +00:00
Wim Taymans
615f9ba613 ext/theora/theoradec.c: Add a debug line.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_class_init),
(theora_get_formats), (theora_dec_src_convert),
(theora_dec_sink_convert), (theora_dec_src_query),
(theora_dec_src_event), (theora_dec_event), (theora_dec_chain):
Add a debug line.
2004-08-17 10:43:55 +00:00
Wim Taymans
d01cd571b2 ext/theora/theoraenc.c: Fix bug where buffers were not marked as keyframes correctly.
Original commit message from CVS:
* ext/theora/theoraenc.c: (gst_border_mode_get_type),
(gst_theora_enc_class_init), (theora_enc_sink_link),
(theora_buffer_from_packet), (theora_enc_chain):
Fix bug where buffers were not marked as keyframes
correctly.
2004-08-16 10:19:39 +00:00
Wim Taymans
8d74cc9136 ext/theora/theoradec.c: Don't crash on missing header packets.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_class_init),
(theora_get_formats), (theora_dec_src_convert),
(theora_dec_sink_convert), (theora_dec_src_query),
(theora_dec_src_event), (theora_dec_event), (theora_dec_chain),
(theora_dec_change_state):
Don't crash on missing header packets.
2004-08-09 13:16:04 +00:00
Wim Taymans
fe21b56332 ext/theora/: Added cropping option to theora decoder.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_class_init),
(gst_theora_dec_init), (theora_get_formats),
(theora_dec_src_convert), (theora_dec_sink_convert),
(theora_dec_src_query), (theora_dec_src_event), (theora_dec_event),
(theora_dec_chain), (theora_dec_set_property),
(theora_dec_get_property):
* ext/theora/theoraenc.c: (gst_border_mode_get_type),
(gst_theora_enc_class_init), (gst_theora_enc_init),
(theora_enc_sink_link), (theora_enc_chain),
(theora_enc_set_property), (theora_enc_get_property):
Added cropping option to theora decoder.
Added border option to theora encoder.
2004-07-30 10:18:42 +00:00
Wim Taymans
c14519f1bf ext/theora/theoraenc.c: Fix encoding of non-multiple-of-16 video.
Original commit message from CVS:
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(theora_enc_sink_link), (theora_enc_chain),
(theora_enc_set_property), (theora_enc_get_property):
Fix encoding of non-multiple-of-16 video.
2004-07-30 08:14:36 +00:00
Wim Taymans
13eaab891d ext/theora/theoradec.c: Don't screw up the 1 Chroma for 1 luma sample situation when we have an odd offset/width by a...
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_get_formats),
(theora_dec_src_convert), (theora_dec_sink_convert),
(theora_dec_src_query), (theora_dec_src_event), (theora_dec_event),
(theora_dec_chain):
Don't screw up the 1 Chroma for 1 luma sample situation when we
have an odd offset/width by adding a black border in those cases.
2004-07-28 15:04:43 +00:00
Wim Taymans
69934d5915 ext/theora/: Added first attempt at cropping of the image as required by the theora spec. We need more properties in ...
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_get_formats),
(theora_dec_src_convert), (theora_dec_sink_convert),
(theora_dec_src_query), (theora_dec_src_event), (theora_dec_event),
(theora_dec_chain):
* ext/theora/theoraenc.c: (theora_enc_sink_link):
Added first attempt at cropping of the image as required by the
theora spec. We need more properties in the caps (offset_x,
offset_y,stride) to implement this correctly.
Added some debug info in the encoder. Note :the encoder is not
updated with the offset code.
2004-07-28 14:03:46 +00:00
Thomas Vander Stichele
cc2e1fab44 pixel aspect ratio handling
Original commit message from CVS:
pixel aspect ratio handling
2004-07-27 16:43:24 +00:00
Wim Taymans
8d9d369e83 ext/: More seeking fixes, oggdemux now supports seeking to time and uses the downstream element to convert granulepos...
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_init),
(gst_ogg_demux_get_formats), (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (gst_ogg_demux_src_convert),
(gst_ogg_demux_handle_event), (gst_ogg_demux_seek_before),
(_find_chain_get_unknown_part), (_find_streams_check),
(gst_ogg_demux_push), (gst_ogg_pad_push):
* ext/theora/theoradec.c: (theora_get_formats),
(theora_dec_src_convert), (theora_dec_sink_convert),
(theora_dec_src_query), (theora_dec_src_event), (theora_dec_event),
(theora_dec_chain):
* ext/vorbis/vorbisdec.c: (vorbis_dec_get_formats),
(vorbis_dec_convert), (vorbis_dec_src_query),
(vorbis_dec_src_event), (vorbis_dec_event):
More seeking fixes, oggdemux now supports seeking to time and
uses the downstream element to convert granulepos to time.
Seeking in theora-only ogg files now works.
2004-07-21 16:48:20 +00:00
Wim Taymans
8caa0523e7 ext/: Added query/convert/formats functions to vorbis and theora decoders so that the outside world can use them too....
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_init),
(theora_get_formats), (theora_get_event_masks),
(theora_get_query_types), (theora_dec_src_convert),
(theora_dec_sink_convert), (theora_dec_src_query),
(theora_dec_src_event), (theora_dec_event), (theora_dec_chain):
* ext/vorbis/vorbisdec.c: (vorbis_dec_get_formats),
(vorbis_get_event_masks), (vorbis_get_query_types),
(gst_vorbis_dec_init), (vorbis_dec_convert),
(vorbis_dec_src_query), (vorbis_dec_src_event), (vorbis_dec_event):
Added query/convert/formats functions to vorbis and theora decoders
so that the outside world can use them too. Fixed seeking on an
ogg/theora/vorbis file by disabling the seeking on the
theora srcpad.
2004-07-21 13:28:23 +00:00
Thomas Vander Stichele
44f6a2008b add debug categories
Original commit message from CVS:
add debug categories
2004-07-14 13:42:23 +00:00
Wim Taymans
684281176c ext/theora/theoradec.c: Sync to keyframe after seek
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_from_granulepos),
(theora_dec_src_query), (theora_dec_src_event), (theora_dec_chain):
Sync to keyframe after seek
2004-07-09 14:08:43 +00:00
Thomas Vander Stichele
c750d9bd49 don't assert in state change
Original commit message from CVS:
don't assert in state change
2004-07-09 10:56:51 +00:00
Wim Taymans
3e712388ba ext/theora/: Fix theora granulepos calculation.
Original commit message from CVS:
* ext/theora/theora.c: (plugin_init):
* ext/theora/theoradec.c: (theora_dec_from_granulepos),
(theora_dec_src_query), (theora_dec_chain):
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(theora_enc_sink_link), (theora_buffer_from_packet),
(theora_push_packet), (theora_enc_chain):
Fix theora granulepos calculation.
Fix overflow in duration/position calculation.
Bump rank to PRIMARY for theoradec.
Use granulepos of last packet to calculate position.
Set keyframe flag on buffers when needed.
2004-07-07 15:57:48 +00:00
Thomas Vander Stichele
ab7738c8d1 fix name
Original commit message from CVS:
fix name
2004-07-03 23:11:04 +00:00
Johan Dahlin
e8e6b9cb8d ext/theora/theoraenc.c (theora_enc_chain): Call gst_pad_try_set_caps instead of gst_pad_set_explicit_caps so the stre...
Original commit message from CVS:
* ext/theora/theoraenc.c (theora_enc_chain): Call
gst_pad_try_set_caps instead of gst_pad_set_explicit_caps so the
streamheader caps are set correctly.
2004-06-24 16:48:17 +00:00
Wim Taymans
01226c6e8d ext/theora/theoraenc.c: Some cleanups, make sure the timestamps are correct.
Original commit message from CVS:
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(theora_enc_sink_link), (theora_buffer_from_packet),
(theora_push_packet), (theora_enc_chain):
Some cleanups, make sure the timestamps are correct.
2004-06-22 16:29:20 +00:00
Wim Taymans
01c78dfc80 ext/theora/theoradec.c: Don't try to decode frames before we received a keyframe
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_chain),
(theora_dec_change_state):
Don't try to decode frames before we received a keyframe
2004-06-11 17:34:32 +00:00
Wim Taymans
3b0de28bc5 ext/theora/theoraenc.c: Set duration on encoded buffer, added some more properties
Original commit message from CVS:
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(gst_theora_enc_init), (theora_enc_sink_link),
(theora_buffer_from_packet), (theora_enc_set_property),
(theora_enc_get_property):
Set duration on encoded buffer, added some more properties
2004-06-10 14:59:17 +00:00
Wim Taymans
86cbbbae23 ext/: Fix refcounting bugs
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer),
(gst_ogg_mux_get_headers), (gst_ogg_mux_set_header_on_caps),
(gst_ogg_mux_send_headers), (gst_ogg_mux_loop):
* ext/theora/theoraenc.c: (theora_enc_chain):
Fix refcounting bugs
2004-06-10 11:33:05 +00:00
Thomas Vander Stichele
5218d690e4 mark buffers as streamheader
Original commit message from CVS:
mark buffers as streamheader
2004-06-08 16:41:42 +00:00
Jan Schmidt
643499378c ext/gdk_pixbuf/: Add new pixbufscale element to scale RGB video using gdk_pixbuf, because gdk_pixbuf does BILINEAR an...
Original commit message from CVS:
* ext/gdk_pixbuf/Makefile.am:
* ext/gdk_pixbuf/gstgdkpixbuf.c: (plugin_init):
* ext/gdk_pixbuf/gstgdkpixbuf.h:
Add new pixbufscale element to scale RGB video
using gdk_pixbuf, because gdk_pixbuf does BILINEAR
and HYPER interpolation correctly.
* ext/theora/theoraenc.c: (theora_enc_chain),
Discard buffer and return if explicit caps could not be set
(theora_enc_get_property):
Make _get return kbps for the bitrate consistent with
the _set function.
2004-05-15 12:09:11 +00:00
Benjamin Otte
3d48de4043 configure.ac: enable shout2 by default
Original commit message from CVS:
* configure.ac:
enable shout2 by default
* ext/shout2/gstshout2.c: (gst_shout2send_protocol_get_type),
(gst_shout2send_base_init), (gst_shout2send_init),
(gst_shout2send_connect), (gst_shout2send_change_state):
* ext/shout2/gstshout2.h:
make this work again. Based on a patch by Zaheer Merali (fixes
#142262)
* ext/theora/theora.c: (plugin_init):
don't set rank on encoders
2004-05-12 02:35:56 +00:00
Thomas Vander Stichele
590a756a84 make plugin_init static
Original commit message from CVS:
make plugin_init static
2004-05-11 14:00:35 +00:00
Wim Taymans
299b599bd1 ext/theora/theoraenc.c: Mark the last packet with an EOS flag which is not really needed in gstreamer.
Original commit message from CVS:
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(theora_enc_sink_link), (theora_push_packet), (theora_enc_chain),
(theora_enc_change_state), (theora_enc_set_property),
(theora_enc_get_property):
Mark the last packet with an EOS flag which is not really needed
in gstreamer.
Do some better video framerate initialisation.
Update the buffer timestamp.
2004-05-10 13:32:11 +00:00
Stéphane Loeuillet
27dc0d1677 ext/theora/theoradec.c: "Filter/Decoder/Video" => "Codec/Decoder/Video"
Original commit message from CVS:
* ext/theora/theoradec.c : "Filter/Decoder/Video" => "Codec/Decoder/Video"
* ext/theora/theoraenc.c : "Filter/Encoder/Video" => "Codec/Encoder/Video"
* ext/xine/xineaudiodec.c : "Filter/Decoder/Audio" =>"Codec/Decoder/Audio"
2004-05-10 12:22:05 +00:00
Wim Taymans
bb396483ac ext/theora/theoraenc.c: Also encode the first frame, cleanup some code.
Original commit message from CVS:
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(theora_enc_sink_link), (theora_push_packet), (theora_enc_chain),
(theora_enc_set_property), (theora_enc_get_property):
Also encode the first frame, cleanup some code.
2004-05-06 14:32:14 +00:00
Wim Taymans
3060b5e9f8 ext/theora/: Added a theora encoder, grouped the encoder and decoder into the same plugin.
Original commit message from CVS:
* ext/theora/Makefile.am:
* ext/theora/theora.c: (plugin_init):
* ext/theora/theoradec.c: (theora_dec_change_state):
* ext/theora/theoraenc.c: (gst_theora_enc_base_init),
(gst_theora_enc_class_init), (gst_theora_enc_init),
(theora_enc_sink_link), (theora_enc_event), (theora_push_packet),
(theora_enc_chain), (theora_enc_change_state),
(theora_enc_set_property), (theora_enc_get_property):
Added a theora encoder, grouped the encoder and decoder into the
same plugin.
2004-05-06 09:10:31 +00:00
Thomas Vander Stichele
f83cb187de don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:32:28 +00:00
Thomas Vander Stichele
4df3f18839 gst-indent
Original commit message from CVS:
gst-indent
2004-03-14 22:34:34 +00:00
Benjamin Otte
56b6088c46 ext/ogg/gstoggdemux.c: handle chain parsing correctly in the multichain case
Original commit message from CVS:
2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain):
handle chain parsing correctly in the multichain case
* ext/theora/theoradec.c: (gst_theora_dec_init), (_theora_ilog),
(theora_dec_from_granulepos), (theora_dec_to_granulepos),
(theora_dec_src_query), (theora_dec_src_event), (theora_dec_event),
(theora_dec_chain):
handle events and queries correctly
2004-02-03 16:15:16 +00:00
Benjamin Otte
f8dd2b328e ext/theora/theoradec.c: make comments work
Original commit message from CVS:
2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/theora/theoradec.c: (theora_dec_chain):
make comments work
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_src_event), (vorbis_dec_chain):
add encoder tag, fix tag reading to be more error tolerant, change
BITRATE to NOMINAL_BITRATE, add debugging, don't unref events after
gst_pad_event_default.
* gst/tags/gstvorbistag.c:
(gst_tag_list_from_vorbiscomment_buffer):
undefine function specific define at end of function
2004-01-31 11:24:18 +00:00
Benjamin Otte
ebed8d8724 configure.ac: use AC_C_INLINE
Original commit message from CVS:
2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* configure.ac:
use AC_C_INLINE
* configure.ac:
* ext/Makefile.am:
* ext/theora/Makefile.am:
* ext/theora/theoradec.c:
add theora video decoder. Does just do simple decoding for now and
has been tested against Theora cvs only.
* ext/vorbis/vorbisdec.c: (vorbis_dec_event):
always reset packetno on DISCONT
2004-01-30 20:23:24 +00:00