finished SRTO_STREAMID implementation
added String as possible Value to setSockOpt added test for normal SRT API removed double SRTO_STREAMID from srt-enums.h
This commit is contained in:
parent
64076e370f
commit
bb9665b856
4 changed files with 24 additions and 4 deletions
|
|
@ -53,7 +53,7 @@ describe("Async SRT API with callbacks", () => {
|
|||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
it("can set SRT socket in non-blocking mode", done => {
|
||||
const asyncSrt = new AsyncSRT();
|
||||
asyncSrt.createSocket(false, (socket) => {
|
||||
|
|
|
|||
|
|
@ -39,6 +39,17 @@ describe("SRT library", () => {
|
|||
expect(value).toEqual(1052);
|
||||
});
|
||||
|
||||
it("can set SRT sockopt SRTO_STREAMID", () => {
|
||||
const srt = new SRT();
|
||||
const socket = srt.createSocket();
|
||||
const result = srt.setSockOpt(socket, SRT.SRTO_STREAMID, "STREAMID");
|
||||
|
||||
expect(result).not.toEqual(SRT.ERROR);
|
||||
const value = srt.getSockOpt(socket, SRT.SRTO_STREAMID);
|
||||
|
||||
expect(value).toEqual("STREAMID");
|
||||
});
|
||||
|
||||
it("can set SRT socket in non-blocking mode", () => {
|
||||
const srt = new SRT();
|
||||
const socket = srt.createSocket();
|
||||
|
|
@ -59,7 +70,7 @@ describe("SRT library", () => {
|
|||
const epid = srt.epollCreate();
|
||||
srt.epollAddUsock(epid, socket, SRT.EPOLL_IN | SRT.EPOLL_ERR);
|
||||
const events = srt.epollUWait(epid, 500);
|
||||
|
||||
|
||||
expect(events.length).toEqual(0);
|
||||
});
|
||||
|
||||
|
|
@ -67,4 +78,4 @@ describe("SRT library", () => {
|
|||
expect(SRT.SRTO_UDP_SNDBUF).toEqual(8);
|
||||
expect(SRT.SRTO_RCVLATENCY).toEqual(43);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -267,6 +267,15 @@ Napi::Value NodeSRT::SetSockOpt(const Napi::CallbackInfo& info) {
|
|||
Napi::Error::New(env, srt_getlasterror_str()).ThrowAsJavaScriptException();
|
||||
return Napi::Number::New(env, SRT_ERROR);
|
||||
}
|
||||
} else if (info[2].IsString()) {
|
||||
Napi::String value = info[2].As<Napi::String>();
|
||||
int32_t optName = option;
|
||||
const char * optValue = std::string(value).c_str();
|
||||
result = srt_setsockflag(socketValue, (SRT_SOCKOPT)optName, optValue, sizeof(string));
|
||||
if (result == SRT_ERROR) {
|
||||
Napi::Error::New(env, srt_getlasterror_str()).ThrowAsJavaScriptException();
|
||||
return Napi::Number::New(env, SRT_ERROR);
|
||||
}
|
||||
}
|
||||
return Napi::Number::New(env, result);
|
||||
}
|
||||
|
|
@ -349,6 +358,7 @@ Napi::Value NodeSRT::GetSockOpt(const Napi::CallbackInfo& info) {
|
|||
char optValue[512];
|
||||
int optSize = sizeof(optValue);
|
||||
result = srt_getsockflag(socketValue, (SRT_SOCKOPT)optName, (void *)&optValue, &optSize);
|
||||
|
||||
returnVal = Napi::Value::From(env, std::string(optValue));
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
ENUM(SRTO_INPUTBW), \
|
||||
ENUM(SRTO_OHEADBW), \
|
||||
ENUM(SRTO_PASSPHRASE), \
|
||||
ENUM(SRTO_STREAMID), \
|
||||
ENUM(SRTO_PBKEYLEN), \
|
||||
ENUM(SRTO_KMSTATE), \
|
||||
ENUM(SRTO_IPTTL), \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue