| | |
| | | void PL_AndroidMediaCodecDecoder::finit()
|
| | | {
|
| | | PL_AMCD_Internal* in = (PL_AMCD_Internal*)internal;
|
| | | //todo release codec
|
| | | // call AMediaCodec_stop
|
| | |
|
| | | AMediaCodec_stop(in->codec);
|
| | | AMediaCodec_delete(in->codec);
|
| | |
|
| | | in->reset();
|
| | | }
|
| | |
|
| | | bool PL_AndroidMediaCodecDecoder::pay(const PipeMaterial& pm)
|
| | |
| | | in->lastMbfBuffer.buffSize = in->buffSize;
|
| | | in->lastMbfBuffer.width = in->config.ak_width;
|
| | | in->lastMbfBuffer.height = in->config.ak_height;
|
| | | microseconds_to_timeval(info.presentationTimeUs, in->lastMbfBuffer.pts);
|
| | |
|
| | | if (in->config.ptsUseAbsoluteTime)
|
| | | gettimeofday(&(in->lastMbfBuffer.pts), nullptr);
|
| | | else
|
| | | microseconds_to_timeval(info.presentationTimeUs, in->lastMbfBuffer.pts);
|
| | |
|
| | | //if (in->lastMbfBuffer.buffSize > 10)
|
| | | //{
|