Import Cobalt 19.master.0.183272
Change-Id: I3c187298cc9e704eb3d9d16c038b5502b7c7e600
diff --git a/src/starboard/shared/ffmpeg/ffmpeg_audio_decoder_impl.cc b/src/starboard/shared/ffmpeg/ffmpeg_audio_decoder_impl.cc
index 37f03cd..b62f02d 100644
--- a/src/starboard/shared/ffmpeg/ffmpeg_audio_decoder_impl.cc
+++ b/src/starboard/shared/ffmpeg/ffmpeg_audio_decoder_impl.cc
@@ -21,6 +21,7 @@
#include "starboard/log.h"
#include "starboard/memory.h"
#include "starboard/shared/starboard/media/media_util.h"
+#include "starboard/string.h"
namespace starboard {
namespace shared {
@@ -128,7 +129,13 @@
SB_DLOG(WARNING) << "avcodec_decode_audio4() failed with result: " << result
<< " with input buffer size: " << input_buffer->size()
<< " and frame decoded: " << frame_decoded;
+#if SB_HAS(PLAYER_ERROR_MESSAGE)
+ error_cb_(
+ kSbPlayerErrorDecode,
+ FormatString("avcodec_decode_audio4() failed with result %d.", result));
+#else // SB_HAS(PLAYER_ERROR_MESSAGE)
error_cb_();
+#endif // SB_HAS(PLAYER_ERROR_MESSAGE)
return;
}
diff --git a/src/starboard/shared/ffmpeg/ffmpeg_video_decoder_impl.cc b/src/starboard/shared/ffmpeg/ffmpeg_video_decoder_impl.cc
index c36924e..b5795b5 100644
--- a/src/starboard/shared/ffmpeg/ffmpeg_video_decoder_impl.cc
+++ b/src/starboard/shared/ffmpeg/ffmpeg_video_decoder_impl.cc
@@ -19,6 +19,7 @@
#include "starboard/linux/shared/decode_target_internal.h"
#include "starboard/memory.h"
+#include "starboard/string.h"
#include "starboard/thread.h"
namespace starboard {
@@ -252,7 +253,13 @@
if (decode_result < 0) {
SB_DLOG(ERROR) << "avcodec_decode_video2() failed with result "
<< decode_result;
+#if SB_HAS(PLAYER_ERROR_MESSAGE)
+ error_cb_(kSbPlayerErrorDecode,
+ FormatString("avcodec_decode_video2() failed with result %d.",
+ decode_result));
+#else // SB_HAS(PLAYER_ERROR_MESSAGE)
error_cb_();
+#endif // SB_HAS(PLAYER_ERROR_MESSAGE)
error_occured_ = true;
return false;
}
@@ -262,7 +269,12 @@
if (av_frame_->opaque == NULL) {
SB_DLOG(ERROR) << "Video frame was produced yet has invalid frame data.";
+#if SB_HAS(PLAYER_ERROR_MESSAGE)
+ error_cb_(kSbPlayerErrorDecode,
+ "Video frame was produced yet has invalid frame data.");
+#else // SB_HAS(PLAYER_ERROR_MESSAGE)
error_cb_();
+#endif // SB_HAS(PLAYER_ERROR_MESSAGE)
error_occured_ = true;
return false;
}