2 qq 20266957 qq_20266957 于 2016.09.13 17:37 提问

mediaCodec多线程引用

现在有两个线程要访问同一个mediaCodec对象,两个线程有可能需要同时运行,
我现在就遇到了一个问题,当两个线程同时运行的时候,

try {
    mediaCodec.releaseOutputBuffer(encoderStatus, false);
} catch (IllegalStateException e) {
    e.printStackTrace();
}

这个位置怎么处理?因为两个线程引用的是同一个mediaCodec对象,一个线程执行了这个代码之后就会影响另一个线程对mediaCodec的引用,求大神支招!!!!!

1个回答

oyljerry
oyljerry   Ds   Rxr 2016.09.13 23:02

加锁方式或者用两个实例对象分别给两个线程

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
android下MediaCodec硬编码(转)
转载至http://blog.csdn.net/liuhongxiangm/article/details/17584303
Android之MediaCodec使用经验分享
Android之MediaCodec使用经验分享参考学习资料: http://www.cnblogs.com/Xiegg/p/3428529.html MediaCodec文档翻译&&一些FAQ和例子MediaCodec codec = MediaCodec.createDecoderByType(type); codec.configure(format, ...); codec.star
MediaCodec类中queueInputBuffer
queueInputBuffer和dequeueInputBuffer是一对方法,两个要在一起使用哦.首先,这一对函数的应用场合是对输入的数据流进行编码或者解码处理的时候,你会通过各种方法获得一个ByteBuffer的数组,这些数据就是准备处理的数据。你要通过自己的方法找到你要处理的部分,然后调用dequeueInputBuffer方法提取出要处理的部分(也就是一个ByteBuffer数据流),把
Android Multimedia框架总结(二十一)MediaCodec中创建到start过程(到jni部分)
上一章介绍MediaCodec的说明及状态图,从今天开始,将深入源码中看看其过程,看下Agenda如下: - 一张图看清MediaCodec从创建到start过程 - 补充MediaCodec基本用法 - MediaCodec中BufferInfo内部类: - android_media_MediaCodec.cpp - android_media_MediaCodec.h
线程之start 和 stop,优先级
建议118:不推荐覆写start方法   多线程比较简单的实现方式是继承Thread类,然后覆写run方法,在客户端程序中通过调用对象的start方法即可启动一个线程,这是多线程程序的标准写法。不知道大家能够还能回想起自己写的第一个多线程的demo呢?估计一般是这样写的: class MultiThread extends Thread{ @Override pub
android MediaCodec的自己碰到的问题
本文是个人在使用MediaCodec开发的时候碰到的一些问题,做下记录.... MediaCodec的基本用法,网上一大把,这里就不写了 1, 获取支持分辨率问题 Camera.Parameters parameters = _camera.getParameters(); List previewSizes = parameters.getSupportedPreviewS
Android MediaCodec类中dequeueInputBuffer和queueInputBuffer作用
queueInputBuffer和dequeueInputBuffer是一对方法,两个要在一起使用哦。首先,这一对函数的应用场合是对输入的数据流进行编码或者解码处理的时候,你会通过各种方法获得一个ByteBuffer的数组,这些数据就是准备处理的数据。你要通过自己的方法找到你要处理的部分,然后调用dequeueInputBuffer方法提取出要处理的部分(也就是一个ByteBuffer数据流),把
ffmpeg支持android硬件解码mediacodec
1)编译配置 ./configure --enable-cross-compile --cross-prefix=/e/arm-linux-androideabi-4.6/bin/arm-linux-ardroideabi- --sysroot=/e/android/android-ndk-r8b/platforms/android- 14/arch-arm --extra-cflags
MediaCodec问题汇总
MediaCodec问题汇总
MediaCodec的介绍及实例
MediaCodec MediaCodec的介绍     MediaCodec是Android平台提供的硬件编解码器,它由一组API构成。这样说还是太抽象了,下面用一个很简单的开源例子MediaCodecDemo来说明MediaCodec怎么使用。     MediaCodecDemo:https://github.com/veci