我是靠谱客的博主 无情蚂蚁,最近开发中收集的这篇文章主要介绍FFmpeg avio_alloc_context函数剖析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

函数原型
AVIOContext *avio_alloc_context(
                  unsigned char *buffer,
                  int buffer_size,
                  int write_flag,
                  void *opaque,
                  int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),
                  int (*write_packet)(void *opaque, uint8_t *buf, int buf_size),
                  int64_t (*seek)(void *opaque, int64_t offset, int whence))
{
    //创建一个AVIOContext结构体
    AVIOContext *s = av_mallocz(sizeof(AVIOContext));
    if (!s)
        return NULL;
    //初始化AVIOContext结构体
    ffio_init_context(s, buffer, buffer_size, write_flag, opaque,
                  read_packet, write_packet, seek);
    return s;
}

#define BUF_SIZE    1024*16
AVIOContext* pAVIOContext = avio_alloc_context(pAVIOContext, BUF_SIZE, 0, this, ReadInputData, NULL, NULL);
ReadInputData函数将赋值给read_packet,当调用avcodec_send_packet函数,将会从ReadInputData读取指定的的BUF_SIZE
来进行分帧解析


疑问
设置FFmpeg读缓存区的大小,应该怎么设置比较合理

转载于:https://blog.51cto.com/fengyuzaitu/2055849

最后

以上就是无情蚂蚁为你收集整理的FFmpeg avio_alloc_context函数剖析的全部内容,希望文章能够帮你解决FFmpeg avio_alloc_context函数剖析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部