I have an issue where when an OpenMAX video finishes playing, the application crashes with a Signal 6.
Here is my EOS code in the buffer callback. The crash also occurs if I stop the media player here and clear the queue as well. According to some more verbose logs, I send an EOS signal, the EOS gets processed and then it crashes.
Here is my code to signal an EOS
// We reached the EOF or an I/O error occured
// Create EOS signal
XAAndroidBufferItem signal;
memset(&signal, 0, sizeof(XAAndroidBufferItem));
signal.itemKey = XA_ANDROID_ITEMKEY_EOS;
// Enqueue the error
if ((res = (*i_PlayerInputBufferInterface)->Enqueue(i_PlayerInputBufferInterface,
(void *)&EOS_BUFFER_CONTEXT, nullptr, 0, &signal, sizeof(XAuint32) * 2))
!= XA_RESULT_SUCCESS)
throw OpenMAXException("Could not enqueue EOS signal.", res);
// Update video state
i_IsEOF = true;
return XA_RESULT_SUCCESS;
My Tombstone trace is here.