Mercurial > libavcodec.hg
comparison utils.c @ 2091:02a4fd7c606c libavcodec
flush audio encoder buffers at the end
fix vorbis in nut again
| author | michael |
|---|---|
| date | Tue, 22 Jun 2004 21:14:01 +0000 |
| parents | 0817ee1f07e5 |
| children | 586a6e8f3290 |
comparison
equal
deleted
inserted
replaced
| 2090:869805505b30 | 2091:02a4fd7c606c |
|---|---|
| 451 } | 451 } |
| 452 | 452 |
| 453 int avcodec_encode_audio(AVCodecContext *avctx, uint8_t *buf, int buf_size, | 453 int avcodec_encode_audio(AVCodecContext *avctx, uint8_t *buf, int buf_size, |
| 454 const short *samples) | 454 const short *samples) |
| 455 { | 455 { |
| 456 int ret; | 456 if((avctx->codec->capabilities & CODEC_CAP_DELAY) || samples){ |
| 457 | 457 int ret = avctx->codec->encode(avctx, buf, buf_size, (void *)samples); |
| 458 ret = avctx->codec->encode(avctx, buf, buf_size, (void *)samples); | 458 avctx->frame_number++; |
| 459 avctx->frame_number++; | 459 return ret; |
| 460 return ret; | 460 }else |
| 461 return 0; | |
| 461 } | 462 } |
| 462 | 463 |
| 463 int avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf, int buf_size, | 464 int avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf, int buf_size, |
| 464 const AVFrame *pict) | 465 const AVFrame *pict) |
| 465 { | 466 { |
| 466 int ret; | 467 if((avctx->codec->capabilities & CODEC_CAP_DELAY) || pict){ |
| 467 | 468 int ret = avctx->codec->encode(avctx, buf, buf_size, (void *)pict); |
| 468 ret = avctx->codec->encode(avctx, buf, buf_size, (void *)pict); | 469 avctx->frame_number++; |
| 469 | 470 emms_c(); //needed to avoid a emms_c() call before every return; |
| 470 emms_c(); //needed to avoid a emms_c() call before every return; | 471 |
| 471 | 472 return ret; |
| 472 avctx->frame_number++; | 473 }else |
| 473 return ret; | 474 return 0; |
| 474 } | 475 } |
| 475 | 476 |
| 476 /** | 477 /** |
| 477 * decode a frame. | 478 * decode a frame. |
| 478 * @param buf bitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE larger then the actual read bytes | 479 * @param buf bitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE larger then the actual read bytes |
