mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-28 04:31:06 +00:00
Add more error codes. Fix documentation.
This commit is contained in:
parent
eddf6b0d6c
commit
29f1784dd7
2 changed files with 15 additions and 5 deletions
|
@ -73,7 +73,10 @@ decoder_thread_cb(gpointer data)
|
||||||
g_mutex_unlock(priv->adapter_mutex);
|
g_mutex_unlock(priv->adapter_mutex);
|
||||||
|
|
||||||
if (!priv->decoder_thread_cancel) {
|
if (!priv->decoder_thread_cancel) {
|
||||||
if (status == GST_VAAPI_DECODER_STATUS_SUCCESS) {
|
switch (status) {
|
||||||
|
case GST_VAAPI_DECODER_STATUS_SUCCESS:
|
||||||
|
case GST_VAAPI_DECODER_STATUS_ERROR_NO_DATA:
|
||||||
|
GST_DEBUG("decode");
|
||||||
g_object_ref(decoder);
|
g_object_ref(decoder);
|
||||||
status = klass->decode(decoder);
|
status = klass->decode(decoder);
|
||||||
g_object_unref(decoder);
|
g_object_unref(decoder);
|
||||||
|
@ -85,8 +88,8 @@ decoder_thread_cb(gpointer data)
|
||||||
status = GST_VAAPI_DECODER_STATUS_END_OF_STREAM;
|
status = GST_VAAPI_DECODER_STATUS_END_OF_STREAM;
|
||||||
|
|
||||||
GST_DEBUG("decode frame (status = %d)", status);
|
GST_DEBUG("decode frame (status = %d)", status);
|
||||||
}
|
break;
|
||||||
else {
|
default:
|
||||||
/* XXX: something went wrong, simply destroy any
|
/* XXX: something went wrong, simply destroy any
|
||||||
buffer until this decoder is destroyed */
|
buffer until this decoder is destroyed */
|
||||||
g_mutex_lock(priv->adapter_mutex);
|
g_mutex_lock(priv->adapter_mutex);
|
||||||
|
@ -96,6 +99,7 @@ decoder_thread_cb(gpointer data)
|
||||||
/* Signal the main thread we got an error */
|
/* Signal the main thread we got an error */
|
||||||
if (status != GST_VAAPI_DECODER_STATUS_END_OF_STREAM)
|
if (status != GST_VAAPI_DECODER_STATUS_END_OF_STREAM)
|
||||||
gst_vaapi_decoder_push_surface(decoder, NULL);
|
gst_vaapi_decoder_push_surface(decoder, NULL);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -60,8 +60,12 @@ typedef struct _GstVaapiDecoderClass GstVaapiDecoderClass;
|
||||||
* GstVaapiDecoderStatus:
|
* GstVaapiDecoderStatus:
|
||||||
* @GST_VAAPI_DECODER_STATUS_SUCCESS: Success.
|
* @GST_VAAPI_DECODER_STATUS_SUCCESS: Success.
|
||||||
* @GST_VAAPI_DECODER_STATUS_TIMEOUT: Timeout. Try again later.
|
* @GST_VAAPI_DECODER_STATUS_TIMEOUT: Timeout. Try again later.
|
||||||
* @GST_VAAPI_DECODER_STATUS_EOS: End-Of-Stream.
|
* @GST_VAAPI_DECODER_STATUS_END_OF_STREAM: End-Of-Stream.
|
||||||
* @GST_VAAPI_DECODER_STATUS_ERROR: Unknown error.
|
* @GST_VAAPI_DECODER_STATUS_ERROR_ALLOCATION_FAILED: No memory left.
|
||||||
|
* @GST_VAAPI_DECODER_STATUS_ERROR_INIT_FAILED: Decoder initialization failure.
|
||||||
|
* @GST_VAAPI_DECODER_STATUS_ERROR_NO_DATA: Not enough input data to decode.
|
||||||
|
* @GST_VAAPI_DECODER_STATUS_ERROR_INVALID_SURFACE: Invalid surface.
|
||||||
|
* @GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN: Unknown error.
|
||||||
*
|
*
|
||||||
* Decoder status for gst_vaapi_decoder_get_surface().
|
* Decoder status for gst_vaapi_decoder_get_surface().
|
||||||
*/
|
*/
|
||||||
|
@ -71,6 +75,8 @@ enum _GstVaapiDecoderStatus {
|
||||||
GST_VAAPI_DECODER_STATUS_END_OF_STREAM,
|
GST_VAAPI_DECODER_STATUS_END_OF_STREAM,
|
||||||
GST_VAAPI_DECODER_STATUS_ERROR_ALLOCATION_FAILED,
|
GST_VAAPI_DECODER_STATUS_ERROR_ALLOCATION_FAILED,
|
||||||
GST_VAAPI_DECODER_STATUS_ERROR_INIT_FAILED,
|
GST_VAAPI_DECODER_STATUS_ERROR_INIT_FAILED,
|
||||||
|
GST_VAAPI_DECODER_STATUS_ERROR_NO_DATA,
|
||||||
|
GST_VAAPI_DECODER_STATUS_ERROR_INVALID_SURFACE,
|
||||||
GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN
|
GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue