- if( ! p_input )
- {
- /* No p_input defined */
- retval->streamstatus = mediacontrol_UndefinedStatus;
- retval->url = strdup( "None" );
- retval->position = 0;
- retval->length = 0;
- }
- else
- {
- switch( var_GetInteger( p_input, "state" ) )
- {
- case PLAYING_S :
- retval->streamstatus = mediacontrol_PlayingStatus;
- break;
- case PAUSE_S :
- retval->streamstatus = mediacontrol_PauseStatus;
- break;
- case INIT_S :
- retval->streamstatus = mediacontrol_InitStatus;
- break;
- case END_S :
- retval->streamstatus = mediacontrol_EndStatus;
- break;
- default :
- retval->streamstatus = mediacontrol_UndefinedStatus;
- break;
- }
-
- retval->url = strdup( p_input->input.p_item->psz_uri );
-
- /* TIME and LENGTH are in microseconds. We want them in ms */
- var_Get( p_input, "time", &val);
- retval->position = val.i_time / 1000;
-
- var_Get( p_input, "length", &val);
- retval->length = val.i_time / 1000;
-
- retval->position = mediacontrol_unit_convert( p_input,
- mediacontrol_MediaTime, a_key,
- retval->position );
- retval->length = mediacontrol_unit_convert( p_input,
- mediacontrol_MediaTime, a_key,
- retval->length );
- }
- return retval;