コード例 #1
0
/*----------------------------------------------------------------------
|   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);
}
コード例 #2
0
/*----------------------------------------------------------------------
|   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);
}
コード例 #3
0
/*----------------------------------------------------------------------
|   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);
}
コード例 #4
0
/*----------------------------------------------------------------------
|   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);
}
コード例 #5
0
/*----------------------------------------------------------------------
|   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);
}
コード例 #6
0
/*----------------------------------------------------------------------
|   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);
}
コード例 #7
0
/*----------------------------------------------------------------------
|   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);
}