[mpp]: add set_next to MppFrame, enable multiply frame output at one time

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@236 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
ChenHengming
2015-09-07 23:24:23 +00:00
parent 80f8dcf644
commit e0080ff5f8
4 changed files with 30 additions and 7 deletions

View File

@@ -167,11 +167,22 @@ MPP_RET Mpp::put_packet(MppPacket packet)
MPP_RET Mpp::get_frame(MppFrame *frame)
{
Mutex::Autolock autoLock(mFrames->mutex());
MppFrame first = NULL;
if (mFrames->list_size()) {
mFrames->del_at_tail(frame, sizeof(frame));
mFrames->del_at_tail(&first, sizeof(frame));
mFrameGetCount++;
MppFrame prev = first;
MppFrame next = NULL;
while (mFrames->list_size()) {
mFrames->del_at_tail(&next, sizeof(frame));
mFrameGetCount++;
mpp_frame_set_next(prev, next);
prev = next;
}
}
mThreadHal->signal();
*frame = first;
return MPP_OK;
}