|
|
|
@ -5079,12 +5079,12 @@ codec_cc_state cc_run_async(codec_cc_t *c, const str *data, unsigned long ts, vo |
|
|
|
return cc_X_run_async(c, data, ts, async_cb_obj, __cc_run_async); |
|
|
|
} |
|
|
|
|
|
|
|
static void cc_X_pkt_callback(codec_cc_t *c, int size, __typeof__(__cc_run_async) run_async) { |
|
|
|
static void cc_X_pkt_callback(codec_cc_t *c, ssize_t size, __typeof__(__cc_run_async) run_async) { |
|
|
|
AVPacket *pkt = c->avpkt_async; |
|
|
|
void *async_cb_obj = c->async_cb_obj; |
|
|
|
c->async_cb_obj = NULL; |
|
|
|
|
|
|
|
c->async_callback(pkt, async_cb_obj); |
|
|
|
c->async_callback(size >= 0 ? pkt : NULL, async_cb_obj); |
|
|
|
|
|
|
|
pkt->size = 0; |
|
|
|
|
|
|
|
@ -5124,13 +5124,13 @@ static void cc_X_pkt_callback(codec_cc_t *c, int size, __typeof__(__cc_run_async |
|
|
|
static void cc_run_callback(void *p, ssize_t size) { |
|
|
|
codec_cc_t *c = p; |
|
|
|
|
|
|
|
assert(size > 0); // XXX handle errors XXX handle input frame sizes != 160 |
|
|
|
|
|
|
|
AVPacket *pkt = c->avpkt_async; |
|
|
|
|
|
|
|
pkt->size = size; |
|
|
|
pkt->duration = c->data_len * 6L; // XXX |
|
|
|
pkt->pts = c->ts * 6L; // XXX |
|
|
|
if (size >= 0) { |
|
|
|
pkt->size = size; |
|
|
|
pkt->duration = c->data_len * 6L; // XXX |
|
|
|
pkt->pts = c->ts * 6L; // XXX |
|
|
|
} |
|
|
|
|
|
|
|
cc_X_pkt_callback(c, size, __cc_run_async); |
|
|
|
} |
|
|
|
|