diff --git a/src/media/media_decoder.cpp b/src/media/media_decoder.cpp index 0512111a5cf905f8c6cf912d7fe81395ac7b07a9..0b704f8782c6c1c94919574e6002361acd67184c 100644 --- a/src/media/media_decoder.cpp +++ b/src/media/media_decoder.cpp @@ -312,6 +312,8 @@ int MediaDecoder::setupFromVideoData() if (enableAccel_) { accel_ = video::makeHardwareAccel(decoderCtx_); decoderCtx_->opaque = accel_.get(); + } else { + RING_WARN("Hardware accelerated decoding disabled by user preference"); } #endif // RING_ACCEL @@ -365,7 +367,7 @@ MediaDecoder::decode(VideoFrame& result) ret = avcodec_send_packet(decoderCtx_, &inpacket); if (ret < 0) { #ifdef RING_ACCEL - if (accel_->hasFailed()) + if (accel_ && accel_->hasFailed()) return Status::RestartRequired; #endif return ret == AVERROR_EOF ? Status::Success : Status::DecodeError; @@ -373,7 +375,7 @@ MediaDecoder::decode(VideoFrame& result) ret = avcodec_receive_frame(decoderCtx_, frame); if (ret < 0 && ret != AVERROR(EAGAIN) && ret != AVERROR_EOF) { #ifdef RING_ACCEL - if (accel_->hasFailed()) + if (accel_ && accel_->hasFailed()) return Status::RestartRequired; #endif return Status::DecodeError; @@ -385,7 +387,7 @@ MediaDecoder::decode(VideoFrame& result) &frameFinished, &inpacket); if (ret <= 0) { #ifdef RING_ACCEL - if (accel_->hasFailed()) + if (accel_ && accel_->hasFailed()) return Status::RestartRequired; #endif return Status::DecodeError; diff --git a/src/media/video/accel.cpp b/src/media/video/accel.cpp index 5bd9dc49857ac8b7438bdfbec61bbce9754d4cec..e17f49f776c33245e8e126ec15de9fb7b1210c8d 100644 --- a/src/media/video/accel.cpp +++ b/src/media/video/accel.cpp @@ -225,7 +225,7 @@ makeHardwareAccel(AVCodecContext* codecCtx) codecCtx->get_buffer2 = allocateBufferCb; codecCtx->thread_safe_callbacks = 1; codecCtx->thread_count = 1; - RING_DBG("Succesfully set up '%s' acceleration", accel->name().c_str()); + RING_DBG("Attempting to use '%s' hardware acceleration", accel->name().c_str()); return accel; } }