diff options
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) { |