static int decssaWork( hb_work_object_t * w, hb_buffer_t ** buf_in, hb_buffer_t ** buf_out ) { hb_work_private_t * pv = w->private_data; hb_buffer_t * in = *buf_in; #if SSA_VERBOSE_PACKETS printf("\nPACKET(%"PRId64",%"PRId64"): %.*s\n", in->s.start/90, in->s.stop/90, in->size, in->data); #endif if ( in->size <= 0 ) { *buf_out = in; *buf_in = NULL; return HB_WORK_DONE; } if (w->subtitle->config.dest == PASSTHRUSUB && (pv->job->mux & HB_MUX_MASK_MKV)) { *buf_out = ssa_to_mkv_ssa(w, in); } else { *buf_out = ssa_decode_packet(w, in); } return HB_WORK_OK; }
static int decssaWork( hb_work_object_t * w, hb_buffer_t ** buf_in, hb_buffer_t ** buf_out ) { hb_buffer_t * in = *buf_in; #if SSA_VERBOSE_PACKETS printf("\nPACKET(%"PRId64",%"PRId64"): %.*s\n", in->s.start/90, in->s.stop/90, in->size, in->data); #endif if (in->s.flags & HB_BUF_FLAG_EOF) { *buf_out = in; *buf_in = NULL; return HB_WORK_DONE; } *buf_out = ssa_decode_packet(w, in); return HB_WORK_OK; }