mm-video: vdec: Polling video driver earlier

Polling on video driver should be started immediately after
opening the device to avoid missing any events from driver.
An issue was observed where some of the flush events were
missed because poll thread was not created. This change
fixes such issues.

Change-Id: I9478c208bc3d9d9b94a5e4b5148783e38a3d18aa
diff --git a/mm-video/vidc/vdec/src/omx_vdec_msm8974.cpp b/mm-video/vidc/vdec/src/omx_vdec_msm8974.cpp
index bf11a90..eaeb324 100644
--- a/mm-video/vidc/vdec/src/omx_vdec_msm8974.cpp
+++ b/mm-video/vidc/vdec/src/omx_vdec_msm8974.cpp
@@ -1299,6 +1299,12 @@
 	drv_ctx.frame_rate.fps_numerator = DEFAULT_FPS;
 	drv_ctx.frame_rate.fps_denominator = 1;
 
+    ret = pthread_create(&async_thread_id,0,async_message_thread,this);
+    if(ret < 0) {
+	  close(drv_ctx.video_driver_fd);
+	  DEBUG_PRINT_ERROR("\n Failed to create async_message_thread \n");
+	  return OMX_ErrorInsufficientResources;
+   }
 
 #ifdef INPUT_BUFFER_LOG
 	strcpy(inputfilename, INPUT_BUFFER_FILE_NAME);
@@ -5591,9 +5597,6 @@
 	if(!ret) {
 		DEBUG_PRINT_HIGH("Streamon on OUTPUT Plane was successful \n");
 		streaming[OUTPUT_PORT] = true;
-		ret = pthread_create(&async_thread_id,0,async_message_thread,this);
-		if(ret < 0)
-			DEBUG_PRINT_ERROR("\n Failed to create async_message_thread \n");
 	} else{
 		/*TODO: How to handle this case */	
 		DEBUG_PRINT_ERROR(" \n Failed to call streamon on OUTPUT \n");