diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-06-06 19:19:23 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-06-06 19:19:23 +0000 |
commit | f68ae8a4e9b4ccc756fb3eb82a1745b505cdd047 (patch) | |
tree | fa159320aa0cac28367263f667d8a1bd84c9af10 /libmpcodecs/vd_theora.c | |
parent | 2f2918587f584190543d4f77759368907834822c (diff) | |
download | mpv-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.c | 22 |
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) { |