fprintf(stderr, "Can't process DV frame #%d. Insufficient audio data or severe sync problem.\n", c->frames);
av_log(&st->codec, AV_LOG_ERROR, "Can't process DV frame #%d. Insufficient audio data or severe sync problem.\n", c->frames);
int dv_assemble_frame(DVMuxContext *c, AVStream* st,                      const uint8_t* data, int data_size, uint8_t** frame){    uint8_t pcm[8192];    int fsize, reqasize;       *frame = &c->frame_buf[0];    if (c->has_audio && c->has_video) {  /* must be a stale frame */        dv_format_frame(c, *frame);	c->frames++;	c->has_audio = c->has_video = 0;    }        if (st->codec.codec_type == CODEC_TYPE_VIDEO) {        /* FIXME: we have to have more sensible approach than this one */	if (c->has_video)	    fprintf(stderr, "Can't process DV frame #%d. Insufficient audio data or severe sync problem.\n", c->frames);	            dv_inject_video(c, data, *frame);	c->has_video = 1;	data_size = 0;    }         reqasize = 4 * dv_audio_frame_size(c->sys, c->frames);    fsize = fifo_size(&c->audio_data, c->audio_data.rptr);    if (st->codec.codec_type == CODEC_TYPE_AUDIO || (c->has_video && fsize >= reqasize)) { 	if (fsize + data_size >= reqasize && !c->has_audio) {            if (fsize >= reqasize) {	        fifo_read(&c->audio_data, &pcm[0], reqasize, &c->audio_data.rptr);            } else {	        fifo_read(&c->audio_data, &pcm[0], fsize, &c->audio_data.rptr);                memcpy(&pcm[fsize], &data[0], reqasize - fsize);		data += reqasize - fsize;		data_size -= reqasize - fsize;	    }	    dv_inject_audio(c, &pcm[0], *frame);	    c->has_audio = 1;	}            /* FIXME: we have to have more sensible approach than this one */        if (fifo_size(&c->audio_data, c->audio_data.rptr) + data_size >= 100*AVCODEC_MAX_AUDIO_FRAME_SIZE)	    fprintf(stderr, "Can't process DV frame #%d. Insufficient video data or severe sync problem.\n", c->frames);	fifo_write(&c->audio_data, (uint8_t *)data, data_size, &c->audio_data.wptr);    }    return (c->has_audio && c->has_video) ? c->sys->frame_size : 0;}