// subtitle list
while( ( sub = hb_fifo_get( filter->subtitle->fifo_out ) ) )
{
+ if (sub->s.flags & HB_BUF_FLAG_EOF)
+ {
+ hb_buffer_close(&sub);
+ break;
+ }
hb_list_add( pv->sub_list, sub );
}
// subtitle list
while( ( sub = hb_fifo_get( filter->subtitle->fifo_out ) ) )
{
+ if (sub->s.flags & HB_BUF_FLAG_EOF)
+ {
+ hb_buffer_close(&sub);
+ break;
+ }
// Parse MKV-SSA packet
// SSA subtitles always have an explicit stop time, so we
// do not need to do special processing for stop == AV_NOPTS_VALUE
// subtitle list
while ((sub = hb_fifo_get(filter->subtitle->fifo_out)))
{
+ if (sub->s.flags & HB_BUF_FLAG_EOF)
+ {
+ hb_buffer_close(&sub);
+ if (pv->current_sub != NULL)
+ {
+ // Make us some duration for final sub
+ pv->current_sub->s.stop = pv->current_sub->s.start +
+ 90000LL * 10;
+ process_sub(pv, pv->current_sub);
+ hb_buffer_close(&pv->current_sub);
+ }
+ break;
+ }
+
// libass expects times in ms. So to make the math easy,
// convert to ms immediately.
sub->s.start /= 90;
// subtitle list
while ( ( sub = hb_fifo_get( filter->subtitle->fifo_out ) ) )
{
+ if (sub->s.flags & HB_BUF_FLAG_EOF)
+ {
+ hb_buffer_close(&sub);
+ break;
+ }
hb_list_add( pv->sub_list, sub );
}