본문 바로가기

개발 개발/uPnP

uPnP ProtocolInfo에 관하여



일반 PC 에서는 잘 전달되는데 
삼성 TV로 이미지 전달시 재생할수 없다고 에러가 뜬다면

2가지가 안되어 있어서 이다.

1. protocolInfo 정보에 DLNA.ORG_PN 이 빠져 있어서
ex)   <res protocolInfo="http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_LRG;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=00d00000000000000000000000000000">http://x.x.x.x/x/x</res>

 
2. http header에 transferMode.dlna.org 모드가 빠져 있어서.
ex) transferMode.dlna.org: Streaming


1번의 경우 http header에 컨텐츠 전송시 contentFeatures에 추가 해줘도 되나 res의 protocolInfo에 해주는게 맞는것으로 보인다. (allShare의 경우 둘대 해주고 있고, iMediaShare는 protocollInfo에만 해주고 있고, protocolInfo에 없이 http header에만 추가 해도 TV에서 재생됨을 확인)
ex)
contentFeatures.dlna.org: DLNA.ORG_PN=JPEG_TN;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01500000000000000000000000000000
transferMode.dlna.org: Interactive

 protocolInfo의 DLNA.ORG_XX에 관해서는 하기 소스의 설명을 참조해보자 
http://libdlna.sourcearchive.com/documentation/0.2.3/dlna_8h-source.html