summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/vd_theora.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-06-06 19:19:23 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-06-06 19:19:23 +0000
commitf68ae8a4e9b4ccc756fb3eb82a1745b505cdd047 (patch)
treefa159320aa0cac28367263f667d8a1bd84c9af10 /libmpcodecs/vd_theora.c
parent2f2918587f584190543d4f77759368907834822c (diff)
downloadmpv-f68ae8a4e9b4ccc756fb3eb82a1745b505cdd047.tar.bz2
mpv-f68ae8a4e9b4ccc756fb3eb82a1745b505cdd047.tar.xz
just updated vd_theora.c to decode the additional header packets,
introduced by recent changes in Theora CVS which broke the current support. I'll be able to upload a newly encoded sample by tuesday. patch by David Kuehling <dvdkhlng@gmx.de> note: theora comment decoding disabled for backward compatibility,. result wasn't used anyway --A'rpi git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10252 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/vd_theora.c')
-rw-r--r--libmpcodecs/vd_theora.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/libmpcodecs/vd_theora.c b/libmpcodecs/vd_theora.c
index fad92349a7..bca8091b14 100644
--- a/libmpcodecs/vd_theora.c
+++ b/libmpcodecs/vd_theora.c
@@ -41,6 +41,7 @@ static int init(sh_video_t *sh){
int failed = 1;
int errorCode = 0;
ogg_packet op;
+// theora_comment tc;
/* check whether video output format is supported */
switch(sh->codec->outfmt[sh->outfmtidx])
@@ -69,6 +70,27 @@ static int init(sh_video_t *sh){
break;
}
+ /* decode comment packet */
+ op.bytes = ds_get_packet (sh->ds,&op.packet);
+ op.b_o_s = 1;
+#if 0
+ if((errorCode = theora_decode_comment (&tc, &op))) {
+ mp_msg(MSGT_DECVIDEO,MSGL_ERR,
+ "Broken Theora comment; erroroCode=%i!\n", errorCode);
+ break;
+ }
+#endif
+
+ /* decode tables packet */
+ op.bytes = ds_get_packet (sh->ds,&op.packet);
+ op.b_o_s = 1;
+ if((errorCode = theora_decode_tables (&context->inf, &op))) {
+ mp_msg(MSGT_DECVIDEO,MSGL_ERR,
+ "Broken Theora comment; erroroCode=%i!\n", errorCode);
+ break;
+ }
+
+ /* now init codec */
errorCode = theora_decode_init (&context->st, &context->inf);
if (errorCode)
{