2017-03-17 1 views
0

Je suis actuellement confronté à un problème de suppression de mes en-têtes lors de la demande de lecture du nœud vidéo. Le serveur requiert ces en-têtes pour pouvoir lire le contenu.Les en-têtes de nœuds vidéo Roku SDK 2.0 sont supprimés

device=CreateObject("roDeviceInfo") 
hvideo = CreateObject("roHttpAgent") 
hvideoheaders = { 
"Device": device.GetDeviceUniqueId(), 
"DeviceProf": device.GetModelDisplayName()+"("+device.GetModel()+";"+device.GetVersion()+";Roku;roku)", 
"Version": "C4.9.9_S0", 
"x-roku-reserved-dev-id": "", 
} 
hvideo.SetHeaders(hvideoheaders) 

'set videoContent Parameters 

videoContent = createObject("RoSGNode", "ContentNode") 
videoContent.url = streamUrl 
videoContent.Title = m.top.item.Title 
videoContent.StreamFormat = "hls" 
videoContent.SubtitleConfig = subtitle_config 
videoContent.HttpSendClientCertificates = true 


'Set Video 
m.video = m.top.findNode("musicvideos") 
m.video.SetConnectionTimeout(30) 
'm.video.notificationInterval = 30 
m.video.observeField("state", "stateChanged") 
m.video.observeField("streamInfo", "streamInfoChanged") 
m.video.observeField("streamingSegment", "streamingSegmentChanged") 
m.video.content = videoContent 
m.video.setHttpAgent(hvideo) 
m.video.control = "play" 

La seule tête qui vient à travers est x-Roku-réservé-dev-id lors de l'utilisation d'un agent HTTP differnt.

Si j'utilise les métadonnées de contenu de nœuds vidéo pour les en-têtes, tous les en-têtes sont présents SAUF x-roku-reserved-dev-id qui ne respecte pas les règles d'accès au serveur web. Voilà comment j'ai essayé de définir ces:

headers = [] 
headers.push("x-roku-reserved-dev-id:") 
headers.push("Device:" + device.GetDeviceUniqueId()) 
headers.push("DeviceProf:" + device.GetModelDisplayName()+"("+device.GetModel()+";"+device.GetVersion()+";Roku;roku)") 
headers.push("Version:C4.9.9_S0") 

videoContent.HttpHeaders = headers 

J'ai essayé de placer seulement les noeuds de contenu sans x-Roku--dev réservé id et le HTTPAgent avec le x-Roku-réservé-dev-id cependant c'est le même résultat ...

Des pensées?

+0

suggérer la fermeture car c'est un problème de firmware et n'est plus pertinent pour les futurs développeurs Roku –

Répondre

0

Vous devez ajouter des en-têtes pour objet roUrlTransfer:

request = CreateObject("roUrlTransfer") 
request.SetRequest("POST") 
request.AddHeader(headerName1, headerValue1) 
request.AddHeader(headerName2, headerValue2) 
request.AddHeader(headerName3, headerValue3) 
+0

Merci. Cela a fini par être un problème de firmware avec Roku. Il a depuis été corrigé dans le firmware v7.7 b 4061+ – hogie

0

Cette réalité a fini par être un problème de firmware avec Roku. ROKU a depuis publié le firmware fixe v7.7 b 4061+