/*---------------------------------------------------------------------- | PLT_MediaController::SetAVTransportURI +---------------------------------------------------------------------*/ NPT_Result PLT_MediaController::SetAVTransportURI(PLT_DeviceDataReference& device, NPT_UInt32 instance_id, const char* uri, const char* metadata, void* userdata) { PLT_ActionReference action; NPT_CHECK_SEVERE(CreateAction(device, "urn:schemas-upnp-org:service:AVTransport:1", "SetAVTransportURI", action)); // set the uri if (NPT_FAILED(action->SetArgumentValue("CurrentURI", uri))) { return NPT_ERROR_INVALID_PARAMETERS; } // set the uri metadata if (NPT_FAILED(action->SetArgumentValue("CurrentURIMetaData", metadata))) { return NPT_ERROR_INVALID_PARAMETERS; } return CallAVTransportAction(action, instance_id, userdata); }
/*---------------------------------------------------------------------- | PLT_MediaController::Seek +---------------------------------------------------------------------*/ NPT_Result PLT_MediaController::Seek(PLT_DeviceDataReference& device, NPT_UInt32 instance_id, NPT_String unit, NPT_String target, void* userdata) { PLT_ActionReference action; NPT_CHECK_SEVERE(CreateAction(device, "urn:schemas-upnp-org:service:AVTransport:1", "Seek", action)); // Set the unit if (NPT_FAILED(action->SetArgumentValue("Unit", unit))) { return NPT_ERROR_INVALID_PARAMETERS; } // Set the target if (NPT_FAILED(action->SetArgumentValue("Target", target))) { return NPT_ERROR_INVALID_PARAMETERS; } return CallAVTransportAction(action, instance_id, userdata); }
/*---------------------------------------------------------------------- | PLT_MediaController::Stop +---------------------------------------------------------------------*/ NPT_Result PLT_MediaController::Stop(PLT_DeviceDataReference& device, NPT_UInt32 instance_id, void* userdata) { PLT_ActionReference action; NPT_CHECK_SEVERE(CreateAction(device, "urn:schemas-upnp-org:service:AVTransport:1", "Stop", action)); return CallAVTransportAction(action, instance_id, userdata); }
/*---------------------------------------------------------------------- | PLT_MediaController::SetPlayMode +---------------------------------------------------------------------*/ NPT_Result PLT_MediaController::SetPlayMode(PLT_DeviceDataReference& device, NPT_UInt32 instance_id, NPT_String new_play_mode, void* userdata) { PLT_ActionReference action; NPT_CHECK_SEVERE(CreateAction(device, "urn:schemas-upnp-org:service:AVTransport:1", "SetPlayMode", action)); // set the New PlayMode if (NPT_FAILED(action->SetArgumentValue("NewPlayMode", new_play_mode))) { return NPT_ERROR_INVALID_PARAMETERS; } return CallAVTransportAction(action, instance_id, userdata); }
/*---------------------------------------------------------------------- | PLT_MediaController::Play +---------------------------------------------------------------------*/ NPT_Result PLT_MediaController::Play(PLT_DeviceDataReference& device, NPT_UInt32 instance_id, NPT_String speed, void* userdata) { PLT_ActionReference action; NPT_CHECK_SEVERE(CreateAction(device, "urn:schemas-upnp-org:service:AVTransport:1", "Play", action)); // Set the speed if (NPT_FAILED(action->SetArgumentValue("Speed", speed))) { return NPT_ERROR_INVALID_PARAMETERS; } return CallAVTransportAction(action, instance_id, userdata); }
/*---------------------------------------------------------------------- | PLT_MediaController::Mute +---------------------------------------------------------------------*/ NPT_Result PLT_MediaController::Mute(PLT_DeviceDataReference& device, NPT_UInt32 instance_id, void* userdata) { static int mute=0; PLT_ActionReference action; NPT_CHECK_SEVERE(CreateAction(device, "urn:schemas-upnp-org:service:RenderingControl:1", "SetMute", action)); mute = 1-mute; // Set the speed if (NPT_FAILED(action->SetArgumentValue("DesiredMute", mute==1?"1":"0"))) { return NPT_ERROR_INVALID_PARAMETERS; } return CallAVTransportAction(action, instance_id, userdata); }
/*---------------------------------------------------------------------- | PLT_MediaController::Mute +---------------------------------------------------------------------*/ NPT_Result PLT_MediaController::Volume(PLT_DeviceDataReference& device, NPT_UInt32 instance_id, int value, void* userdata) { PLT_ActionReference action; char tmp[10]; NPT_CHECK_SEVERE(CreateAction(device, "urn:schemas-upnp-org:service:RenderingControl:1", "SetVolume", action)); sprintf(tmp,"%d",value); // Set the speed if (NPT_FAILED(action->SetArgumentValue("DesiredVolume",tmp))) { return NPT_ERROR_INVALID_PARAMETERS; } return CallAVTransportAction(action, instance_id, userdata); }