shut down the native media system
| 280 | |
| 281 | // shut down the native media system |
| 282 | void Shutdown(JNIEnv*, jclass) { |
| 283 | LOGV("@@@ shutdown"); |
| 284 | if (mlooper) { |
| 285 | mlooper->post(kMsgDecodeDone, &data, true /* flush */); |
| 286 | mlooper->quit(); |
| 287 | delete mlooper; |
| 288 | mlooper = NULL; |
| 289 | } |
| 290 | if (data.window) { |
| 291 | ANativeWindow_release(data.window); |
| 292 | data.window = NULL; |
| 293 | } |
| 294 | } |
| 295 | |
| 296 | // set the surface |
| 297 | void SetSurface(JNIEnv* env, jclass, jobject surface) { |