Use a more robust test of a valid raw_frame_buffer
A frame buffer callback implementation is not required to use the |priv|
field of aom_codec_frame_buffer_t, so it is more robust to check for a
valid frame_bufs[idx].raw_frame_buffer by testing the |data| field
instead of the |priv| field.
BUG=aomedia:2179
Change-Id: I30cc2790bf2bcf23f52ae163e73e19d8f2a716fd
diff --git a/av1/decoder/decoder.h b/av1/decoder/decoder.h
index afc1264..cc34bbe 100644
--- a/av1/decoder/decoder.h
+++ b/av1/decoder/decoder.h
@@ -297,11 +297,11 @@
// there is a bug in our reference count management.
assert(frame_bufs[idx].ref_count >= 0);
// A worker may only get a free framebuffer index when calling get_free_fb.
- // But the private buffer is not set up until finish decoding header.
- // So any error happens during decoding header, the frame_bufs will not
- // have valid priv buffer.
+ // But the raw frame buffer is not set up until we finish decoding header.
+ // So if any error happens during decoding header, frame_bufs[idx] will not
+ // have a valid raw frame buffer.
if (frame_bufs[idx].ref_count == 0 &&
- frame_bufs[idx].raw_frame_buffer.priv) {
+ frame_bufs[idx].raw_frame_buffer.data) {
pool->release_fb_cb(pool->cb_priv, &frame_bufs[idx].raw_frame_buffer);
frame_bufs[idx].raw_frame_buffer.data = NULL;
frame_bufs[idx].raw_frame_buffer.size = 0;