diff --git a/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.cpp b/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.cpp index cee45b923..619ff9b28 100644 --- a/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.cpp +++ b/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.cpp @@ -482,7 +482,13 @@ FFMpegReaderImplementation::PacketResult FFMpegReaderImplementation::readAndProc int FFMpegReaderImplementation::_read(void *opaque, uint8_t *buf, int buf_size) { FFMpegReaderImplementation *l = reinterpret_cast(opaque); - return int(l->_device->read((char*)(buf), buf_size)); + FFMpegReaderImplementation *l = reinterpret_cast(opaque); + int ret = l->_device->read((char*)(buf), buf_size); + switch (ret) { + case -1: return AVERROR_EXTERNAL; + case 0: return AVERROR_EOF; + default: return ret; + } } int64_t FFMpegReaderImplementation::_seek(void *opaque, int64_t offset, int whence) {