diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2016-03-11 10:00:39 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-03-11 10:46:10 +0200 |
commit | 9132b72c322e0c2f2fec2b8b41f8bb33501e93bb (patch) | |
tree | 24410dee79e76266469903fbeb6f1bb4da5999b7 /sys/androidmedia/gstamc.c | |
parent | 4e7797546aa80f3d96bf346f212ba01fb6795b6f (diff) | |
download | gstreamer-plugins-bad-9132b72c322e0c2f2fec2b8b41f8bb33501e93bb.tar.gz |
amcvideodec: getOutputBuffers() returns a NULL array when a surface was configured
So don't error out if it does.
https://bugzilla.gnome.org/show_bug.cgi?id=763401
Diffstat (limited to 'sys/androidmedia/gstamc.c')
-rw-r--r-- | sys/androidmedia/gstamc.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/androidmedia/gstamc.c b/sys/androidmedia/gstamc.c index 1733ca229..84c91b907 100644 --- a/sys/androidmedia/gstamc.c +++ b/sys/androidmedia/gstamc.c @@ -362,7 +362,10 @@ gst_amc_codec_get_output_buffer (GstAmcCodec * codec, gint index, GError ** err) if (!media_codec.get_output_buffer) { g_return_val_if_fail (index < codec->n_output_buffers && index >= 0, NULL); - return gst_amc_buffer_copy (&codec->output_buffers[index]); + if (codec->output_buffers[index].object) + return gst_amc_buffer_copy (&codec->output_buffers[index]); + else + return NULL; } if (!gst_amc_jni_call_object_method (env, err, codec->object, @@ -440,7 +443,10 @@ gst_amc_codec_get_input_buffer (GstAmcCodec * codec, gint index, GError ** err) if (!media_codec.get_input_buffer) { g_return_val_if_fail (index < codec->n_input_buffers && index >= 0, NULL); - return gst_amc_buffer_copy (&codec->input_buffers[index]); + if (codec->input_buffers[index].object) + return gst_amc_buffer_copy (&codec->input_buffers[index]); + else + return NULL; } if (!gst_amc_jni_call_object_method (env, err, codec->object, |