Translated corresponding Gstreamer errors to QAudioDecoder::FormatError
Change-Id: I34834075ea98c163251e7a9aca1fb7bc486ad7e9 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
This commit is contained in:
@@ -263,10 +263,33 @@ bool QGstreamerAudioDecoderSession::processBusMessage(const QGstreamerMessage &m
|
|||||||
gchar *debug;
|
gchar *debug;
|
||||||
gst_message_parse_error(gm, &err, &debug);
|
gst_message_parse_error(gm, &err, &debug);
|
||||||
QAudioDecoder::Error qerror = QAudioDecoder::ResourceError;
|
QAudioDecoder::Error qerror = QAudioDecoder::ResourceError;
|
||||||
if (err->domain == GST_STREAM_ERROR
|
if (err->domain == GST_STREAM_ERROR) {
|
||||||
&& (err->code == GST_STREAM_ERROR_DECRYPT || err->code == GST_STREAM_ERROR_DECRYPT_NOKEY)) {
|
switch (err->code) {
|
||||||
|
case GST_STREAM_ERROR_DECRYPT:
|
||||||
|
case GST_STREAM_ERROR_DECRYPT_NOKEY:
|
||||||
qerror = QAudioDecoder::AccessDeniedError;
|
qerror = QAudioDecoder::AccessDeniedError;
|
||||||
|
break;
|
||||||
|
case GST_STREAM_ERROR_FORMAT:
|
||||||
|
case GST_STREAM_ERROR_DEMUX:
|
||||||
|
case GST_STREAM_ERROR_DECODE:
|
||||||
|
case GST_STREAM_ERROR_WRONG_TYPE:
|
||||||
|
case GST_STREAM_ERROR_TYPE_NOT_FOUND:
|
||||||
|
case GST_STREAM_ERROR_CODEC_NOT_FOUND:
|
||||||
|
qerror = QAudioDecoder::FormatError;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
} else if (err->domain == GST_CORE_ERROR) {
|
||||||
|
switch (err->code) {
|
||||||
|
case GST_CORE_ERROR_MISSING_PLUGIN:
|
||||||
|
qerror = QAudioDecoder::FormatError;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
processInvalidMedia(qerror, QString::fromUtf8(err->message));
|
processInvalidMedia(qerror, QString::fromUtf8(err->message));
|
||||||
g_error_free(err);
|
g_error_free(err);
|
||||||
g_free(debug);
|
g_free(debug);
|
||||||
|
|||||||
Reference in New Issue
Block a user