Skip to content

Commit 1a635be

Browse files
author
Clement Champetier
committed
readers: return an empty frame when there is nothing to decode
EOF or error in the decoding process.
1 parent 2cbc5eb commit 1a635be

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/AvTranscoder/reader/IReader.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,18 @@ Frame* IReader::readFrameAt( const size_t frame )
6464
}
6565
_currentFrame = frame;
6666
// decode
67+
bool decodingStatus = false;
6768
if( _channelIndex != -1 )
68-
_decoder->decodeNextFrame( *_srcFrame, _channelIndex );
69+
decodingStatus = _decoder->decodeNextFrame( *_srcFrame, _channelIndex );
6970
else
70-
_decoder->decodeNextFrame( *_srcFrame );
71+
decodingStatus = _decoder->decodeNextFrame( *_srcFrame );
72+
if( ! decodingStatus )
73+
{
74+
_dstFrame->clear();
75+
return _dstFrame;
76+
}
7177
// transform
7278
_transform->convert( *_srcFrame, *_dstFrame );
73-
// return buffer
7479
return _dstFrame;
7580
}
7681

0 commit comments

Comments
 (0)