diff options
Diffstat (limited to 'Swiften/ScreenSharing/VP8Decoder.cpp')
-rw-r--r-- | Swiften/ScreenSharing/VP8Decoder.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Swiften/ScreenSharing/VP8Decoder.cpp b/Swiften/ScreenSharing/VP8Decoder.cpp index 40f631f..2634cc5 100644 --- a/Swiften/ScreenSharing/VP8Decoder.cpp +++ b/Swiften/ScreenSharing/VP8Decoder.cpp @@ -40,21 +40,23 @@ void VP8Decoder::updateCodecConfig() } } -void VP8Decoder::decodeFrame(const std::vector<uint8_t>& frame) +void VP8Decoder::decodeFrame(const std::vector<uint8_t>& frame, int pictureID) { // Decode the frame vpx_codec_err_t err = vpx_codec_decode(&codecContext, &frame[0], frame.size(), NULL, 0); if (err) { SWIFT_LOG(debug) << "VP8 Decoder: Failed to decode frame, " << vpx_codec_err_to_string(err) << std::endl; - // TODO: exception ? + onNewFrameDecoded(pictureID, false); return; + } else { + onNewFrameDecoded(pictureID, true); } vpx_codec_iter_t iter = NULL; vpx_image_t* img; while ((img = vpx_codec_get_frame(&codecContext, &iter))) { Image rgbImg = convertYV12toRGB(img); - onNewImageDecoded(rgbImg); + onNewImageAvailable(rgbImg); } } |