+ if (r->bd)
+ {
+ if( !hb_bd_start( r->bd, r->title ) )
+ {
+ hb_bd_close( &r->bd );
+ hb_buffer_close( &ps );
+ return;
+ }
+ if ( r->job->start_at_preview )
+ {
+ // XXX code from DecodePreviews - should go into its own routine
+ hb_bd_seek( r->bd, (float)r->job->start_at_preview /
+ ( r->job->seek_points ? ( r->job->seek_points + 1.0 ) : 11.0 ) );
+ }
+ else if ( r->job->pts_to_start )
+ {
+ hb_bd_seek_pts( r->bd, r->job->pts_to_start );
+ }
+ else
+ {
+ hb_bd_seek_chapter( r->bd, r->job->chapter_start );
+ }
+ if (r->job->angle > 1)
+ {
+ hb_bd_set_angle( r->bd, r->job->angle - 1 );
+ }
+ }
+ else if (r->dvd)