consistent with av_fifo_generic_write. Originally committed as revision 17914 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.6
| @@ -15,6 +15,8 @@ API changes, most recent first: | |||||
| 20090308 - r17869 - lavu 50.0.0 - AVFifoBuffer | 20090308 - r17869 - lavu 50.0.0 - AVFifoBuffer | ||||
| av_fifo_init, av_fifo_read, av_fifo_write and av_fifo_realloc were dropped and replaced | av_fifo_init, av_fifo_read, av_fifo_write and av_fifo_realloc were dropped and replaced | ||||
| by av_fifo_alloc, av_fifo_generic_read, av_fifo_generic_write and av_fifo_realloc2. | by av_fifo_alloc, av_fifo_generic_read, av_fifo_generic_write and av_fifo_realloc2. | ||||
| In addition, the order of the function arguments of av_fifo_generic_read were changed | |||||
| to match av_fifo_generic_write. | |||||
| The AVFifoBuffer/struct AVFifoBuffer may only be used in an opaque way by applications, | The AVFifoBuffer/struct AVFifoBuffer may only be used in an opaque way by applications, | ||||
| they may not use sizeof() or directly access members. | they may not use sizeof() or directly access members. | ||||
| @@ -672,7 +672,7 @@ static void do_audio_out(AVFormatContext *s, | |||||
| AVPacket pkt; | AVPacket pkt; | ||||
| av_init_packet(&pkt); | av_init_packet(&pkt); | ||||
| av_fifo_generic_read(ost->fifo, frame_bytes, NULL, audio_buf); | |||||
| av_fifo_generic_read(ost->fifo, audio_buf, frame_bytes, NULL); | |||||
| //FIXME pass ost->sync_opts as AVFrame.pts in avcodec_encode_audio() | //FIXME pass ost->sync_opts as AVFrame.pts in avcodec_encode_audio() | ||||
| @@ -1452,7 +1452,7 @@ static int output_packet(AVInputStream *ist, int ist_index, | |||||
| if(fifo_bytes > 0 && enc->codec->capabilities & CODEC_CAP_SMALL_LAST_FRAME) { | if(fifo_bytes > 0 && enc->codec->capabilities & CODEC_CAP_SMALL_LAST_FRAME) { | ||||
| int fs_tmp = enc->frame_size; | int fs_tmp = enc->frame_size; | ||||
| enc->frame_size = fifo_bytes / (2 * enc->channels); | enc->frame_size = fifo_bytes / (2 * enc->channels); | ||||
| av_fifo_generic_read(ost->fifo, fifo_bytes, NULL, samples); | |||||
| av_fifo_generic_read(ost->fifo, samples, fifo_bytes, NULL); | |||||
| ret = avcodec_encode_audio(enc, bit_buffer, bit_buffer_size, samples); | ret = avcodec_encode_audio(enc, bit_buffer, bit_buffer_size, samples); | ||||
| enc->frame_size = fs_tmp; | enc->frame_size = fs_tmp; | ||||
| } | } | ||||
| @@ -80,7 +80,7 @@ static int ff_interleave_new_audio_packet(AVFormatContext *s, AVPacket *pkt, | |||||
| return 0; | return 0; | ||||
| av_new_packet(pkt, size); | av_new_packet(pkt, size); | ||||
| av_fifo_generic_read(aic->fifo, size, NULL, pkt->data); | |||||
| av_fifo_generic_read(aic->fifo, pkt->data, size, NULL); | |||||
| pkt->dts = pkt->pts = aic->dts; | pkt->dts = pkt->pts = aic->dts; | ||||
| pkt->duration = av_rescale_q(*aic->samples, st->time_base, aic->time_base); | pkt->duration = av_rescale_q(*aic->samples, st->time_base, aic->time_base); | ||||
| @@ -914,7 +914,7 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, | |||||
| /* output data */ | /* output data */ | ||||
| assert(payload_size - stuffing_size <= av_fifo_size(stream->fifo)); | assert(payload_size - stuffing_size <= av_fifo_size(stream->fifo)); | ||||
| av_fifo_generic_read(stream->fifo, payload_size - stuffing_size, &put_buffer, ctx->pb); | |||||
| av_fifo_generic_read(stream->fifo, ctx->pb, payload_size - stuffing_size, &put_buffer); | |||||
| stream->bytes_to_iframe -= payload_size - stuffing_size; | stream->bytes_to_iframe -= payload_size - stuffing_size; | ||||
| }else{ | }else{ | ||||
| payload_size= | payload_size= | ||||
| @@ -419,7 +419,7 @@ static int swf_write_video(AVFormatContext *s, | |||||
| put_swf_tag(s, TAG_STREAMBLOCK | TAG_LONG); | put_swf_tag(s, TAG_STREAMBLOCK | TAG_LONG); | ||||
| put_le16(pb, swf->sound_samples); | put_le16(pb, swf->sound_samples); | ||||
| put_le16(pb, 0); // seek samples | put_le16(pb, 0); // seek samples | ||||
| av_fifo_generic_read(swf->audio_fifo, frame_size, &put_buffer, pb); | |||||
| av_fifo_generic_read(swf->audio_fifo, pb, frame_size, &put_buffer); | |||||
| put_swf_end_tag(s); | put_swf_end_tag(s); | ||||
| /* update FIFO */ | /* update FIFO */ | ||||
| @@ -63,7 +63,7 @@ int av_fifo_realloc2(AVFifoBuffer *f, unsigned int new_size) { | |||||
| if (!f2) | if (!f2) | ||||
| return -1; | return -1; | ||||
| av_fifo_generic_read(f, len, NULL, f2->buffer); | |||||
| av_fifo_generic_read(f, f2->buffer, len, NULL); | |||||
| f2->wptr += len; | f2->wptr += len; | ||||
| f2->wndx += len; | f2->wndx += len; | ||||
| av_free(f->buffer); | av_free(f->buffer); | ||||
| @@ -96,7 +96,7 @@ int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void | |||||
| } | } | ||||
| int av_fifo_generic_read(AVFifoBuffer *f, int buf_size, void (*func)(void*, void*, int), void* dest) | |||||
| int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void (*func)(void*, void*, int)) | |||||
| { | { | ||||
| // Read memory barrier needed for SMP here in theory | // Read memory barrier needed for SMP here in theory | ||||
| do { | do { | ||||
| @@ -68,7 +68,7 @@ int av_fifo_size(AVFifoBuffer *f); | |||||
| * @param *func generic read function | * @param *func generic read function | ||||
| * @param *dest data destination | * @param *dest data destination | ||||
| */ | */ | ||||
| int av_fifo_generic_read(AVFifoBuffer *f, int buf_size, void (*func)(void*, void*, int), void* dest); | |||||
| int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void (*func)(void*, void*, int)); | |||||
| /** | /** | ||||
| * Feeds data from a user-supplied callback to an AVFifoBuffer. | * Feeds data from a user-supplied callback to an AVFifoBuffer. | ||||