X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=libhb%2Fdecvobsub.c;h=c4474f9aaf631994cafc90162496526e7c2dddf4;hb=033e32de9c380f54c7d1362a3979da205ebc3a29;hp=e5633d54d28f5dee91d02c0ec193da86ba8fc18c;hpb=e2cd98f3e71232b518b7165705d25d965ab9d9f3;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/libhb/decvobsub.c b/libhb/decvobsub.c index e5633d54..c4474f9a 100644 --- a/libhb/decvobsub.c +++ b/libhb/decvobsub.c @@ -98,6 +98,15 @@ int decsubWork( hb_work_object_t * w, hb_buffer_t ** buf_in, pv->pts = in->start; } } + else + { + // bad size, must have lost sync + // force re-sync + if ( pv->buf != NULL ) + hb_buffer_close( &pv->buf ); + pv->size_sub = 0; + } + } *buf_out = NULL; @@ -484,7 +493,7 @@ static hb_buffer_t * Decode( hb_work_object_t * w ) /* Get infos about the subtitle */ ParseControls( w ); - if( job->indepth_scan || ( w->subtitle->force && pv->pts_forced == 0 ) ) + if( job->indepth_scan || ( w->subtitle->config.force && pv->pts_forced == 0 ) ) { /* * Don't encode subtitles when doing a scan. @@ -495,7 +504,7 @@ static hb_buffer_t * Decode( hb_work_object_t * w ) return NULL; } - if (w->subtitle->dest == PASSTHRUSUB) + if (w->subtitle->config.dest == PASSTHRUSUB) { pv->buf->start = pv->pts_start; pv->buf->stop = pv->pts_stop;