{"shas":[["1c2b1998ace65331b5ddef9c56ff76faa1ae6407","05243070b7fcb94c08882b4f3952a1c5d61493b2@codeaurora.org","libstagefright: Fixing a race condition while stopping video playback.\n\nWhile closing the video component, two threads\nhold the reference to OMXCodec - thread in\nwhich OMXCodec::stop is executed and the thread\nin which OMXCodec::on_message is executed. The\nthread which holds the last reference is the\none in which OMXCodec's instance gets destroyed.\nWe want client thread (OMXCodec::stop) to be the\none destroying the instance. If onMessage destroys\nthe instance then we might hit a situation where\npthread_join is called on the same thread causing\nindefinite hang.\n\nChange-Id: I79ef4ce0b71a6bf9f10f7ee0821322d915fb67c5\nCRs-fixed: 270937","Vinay Kalia"]],"repo":"CyanogenMod/android_frameworks_base","actor":"cm-gerrit","ref":"refs/heads/gingerbread","size":1,"head":"1c2b1998ace65331b5ddef9c56ff76faa1ae6407","actor_gravatar":"ae48c98578f548c5060b92a6dd1177fc","push_id":27910497}