mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-07 10:00:55 +08:00
[mpp]: add packet/frame block flag and multi-frame output flag
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@363 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
@@ -51,6 +51,9 @@ Mpp::Mpp(MppCtxType type, MppCodingType coding)
|
|||||||
mThreadHal(NULL),
|
mThreadHal(NULL),
|
||||||
mType(type),
|
mType(type),
|
||||||
mCoding(coding),
|
mCoding(coding),
|
||||||
|
mPacketBlock(0),
|
||||||
|
mFrameBlock(0),
|
||||||
|
mMultiFrame(0),
|
||||||
mStatus(0),
|
mStatus(0),
|
||||||
mDec(NULL),
|
mDec(NULL),
|
||||||
mEnc(NULL)
|
mEnc(NULL)
|
||||||
@@ -177,6 +180,7 @@ MPP_RET Mpp::get_frame(MppFrame *frame)
|
|||||||
|
|
||||||
if (0 == mFrames->list_size()) {
|
if (0 == mFrames->list_size()) {
|
||||||
mThreadCodec->signal();
|
mThreadCodec->signal();
|
||||||
|
if (mFrameBlock)
|
||||||
mFrames->wait();
|
mFrames->wait();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -185,6 +189,7 @@ MPP_RET Mpp::get_frame(MppFrame *frame)
|
|||||||
mFrameGetCount++;
|
mFrameGetCount++;
|
||||||
mThreadHal->signal();
|
mThreadHal->signal();
|
||||||
|
|
||||||
|
if (mMultiFrame) {
|
||||||
MppFrame prev = first;
|
MppFrame prev = first;
|
||||||
MppFrame next = NULL;
|
MppFrame next = NULL;
|
||||||
while (mFrames->list_size()) {
|
while (mFrames->list_size()) {
|
||||||
@@ -195,6 +200,7 @@ MPP_RET Mpp::get_frame(MppFrame *frame)
|
|||||||
prev = next;
|
prev = next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
*frame = first;
|
*frame = first;
|
||||||
return MPP_OK;
|
return MPP_OK;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user