khronosfws/openmax_al/src/mmf_adaptation/xaplayitfadaptationmmf.c
changeset 21 2ed61feeead6
parent 19 4a629bc82c5e
child 25 6f7ceef7b1d1
equal deleted inserted replaced
20:b67dd1fc57c5 21:2ed61feeead6
    18 #include "unistd.h"
    18 #include "unistd.h"
    19 #include "xamediaplayeradaptctxmmf.h"
    19 #include "xamediaplayeradaptctxmmf.h"
    20 #include "xaplayitfadaptationmmf.h"
    20 #include "xaplayitfadaptationmmf.h"
    21 #include "xaadaptationmmf.h"
    21 #include "xaadaptationmmf.h"
    22 #include "cmmfbackendengine.h"
    22 #include "cmmfbackendengine.h"
       
    23 #include "cmmfradiobackendengine.h"
    23 #include <glib.h>
    24 #include <glib.h>
    24 
    25 
    25 extern XAboolean cameraRealized;
    26 extern XAboolean cameraRealized;
    26 
    27 
    27 /*forward declaration of position updater callback*/
    28 /*forward declaration of position updater callback*/
    45      * We don't need to repeat it here*/
    46      * We don't need to repeat it here*/
    46     switch ( state )
    47     switch ( state )
    47     {
    48     {
    48         case XA_PLAYSTATE_STOPPED:
    49         case XA_PLAYSTATE_STOPPED:
    49         {
    50         {
    50             ret = mmf_playitf_stop_playback(mCtx->mmfContext);
    51         	if ( bCtx->ctxId == XARadioAdaptation )
    51             break;
    52     		{
       
    53     			mmf_set_player_adapt_context(cmmfradiobackendengine_init(), bCtx);	    			
       
    54     			stop_radio(cmmfradiobackendengine_init());
       
    55     		}
       
    56     		else
       
    57     		{
       
    58     			ret = mmf_playitf_stop_playback(mCtx->mmfContext);
       
    59           	}
       
    60           break;
    52         }
    61         }
    53         case XA_PLAYSTATE_PAUSED:
    62         case XA_PLAYSTATE_PAUSED:
    54             ret = mmf_playitf_pause_playback(mCtx->mmfContext);
    63             ret = mmf_playitf_pause_playback(mCtx->mmfContext);
    55             break;
    64             break;
    56         case XA_PLAYSTATE_PLAYING:
    65         case XA_PLAYSTATE_PLAYING:
    57         {
    66         {
    58             ret = mmf_playitf_resume_playback(mCtx->mmfContext);
    67    				if ( bCtx->ctxId == XARadioAdaptation )
    59             break;
    68     			{
       
    69     				mmf_set_player_adapt_context(cmmfradiobackendengine_init(), bCtx);	    				
       
    70     				play_radio(cmmfradiobackendengine_init());    	
       
    71     			} 
       
    72     			else
       
    73     			{ 
       
    74           			ret = mmf_playitf_resume_playback(mCtx->mmfContext);
       
    75         		}  
       
    76           break;
    60         }
    77         }
    61         default:
    78         default:
    62             ret = XA_RESULT_PARAMETER_INVALID;
    79             ret = XA_RESULT_PARAMETER_INVALID;
    63             break;
    80             break;
    64     }
    81     }
   209     ret = mmf_playitf_set_position_update_period(mCtx->mmfContext, mSec);
   226     ret = mmf_playitf_set_position_update_period(mCtx->mmfContext, mSec);
   210 
   227 
   211     DEBUG_API("<-XAPlayItfAdaptMMF_SetPositionUpdatePeriod");
   228     DEBUG_API("<-XAPlayItfAdaptMMF_SetPositionUpdatePeriod");
   212     return ret;
   229     return ret;
   213 }
   230 }
       
   231 /*
       
   232  * XAresult XAPlayItfAdapt_StateChange
       
   233  * Handle callback from Radio utility 
       
   234  */
       
   235 void XAPlayItfAdaptMMF_StateChange(XAAdaptationBaseCtx *bCtx, XAboolean playing)
       
   236 {
       
   237 	  if (playing)
       
   238 	  {
       
   239    		XAAdaptEvent event = {XA_PLAYITFEVENTS, XA_PLAYEVENT_HEADMOVING,1,0}; 
       
   240    		XAAdaptationBase_SendAdaptEvents(bCtx, &event );  	   		
       
   241    	}
       
   242    	else
       
   243    	{
       
   244    		XAAdaptEvent event = {XA_PLAYITFEVENTS, XA_PLAYEVENT_HEADSTALLED,1,0};  
       
   245    		XAAdaptationBase_SendAdaptEvents(bCtx, &event );  	   		  		
       
   246    	}
       
   247 
       
   248 }