diff options
Diffstat (limited to 'src/inputstreamer.cc')
| -rw-r--r-- | src/inputstreamer.cc | 43 | 
1 files changed, 27 insertions, 16 deletions
| diff --git a/src/inputstreamer.cc b/src/inputstreamer.cc index 3ddf36e..fdc5d2a 100644 --- a/src/inputstreamer.cc +++ b/src/inputstreamer.cc @@ -29,20 +29,23 @@  #include <QApplication>  #include <unistd.h> -#define KEY "123456789012345678901234567890123456789012345678901234567890" -#define SSRC 1234567890  #define CSRC_V 42  #define CSRC_A 43 -InputStreamer::InputStreamer(QHostAddress addr, quint16 port) +InputStreamer::InputStreamer(int peer, QString peer_name, +                             QHostAddress addr, quint16 port, +                             QString key, unsigned int ssrc)  //  : socket(this)  { -  total = 0; - - +  this->peer = peer; +  this->peer_name = peer_name; +  this->key = key; +  this->ssrc = ssrc;    this->addr = addr;    this->port = port; +  total = 0; +    name.sin_family = AF_INET;    sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);    if(sock < 0) { @@ -87,15 +90,18 @@ void InputStreamer::run()  {    lrtp_status_t status; -  lrtp = lrtp_init(&status, KEY, SSRC); -  if(status != LRTP_OK) printf("O:lrtp_init err: %d\n", status); +  char ckey[61]; +  strcpy(ckey, key.toStdString().c_str()); + +  lrtp = lrtp_init(&status, ckey, ssrc); +  if(status != LRTP_OK) printf("I:lrtp_init err: %d\n", status);    int res;    res = lrtp_create_profile(lrtp, PROFILE_JPEG, CSRC_V, OPTION_END); -  if(res != 0) printf("O:lrtp_create_profile (v) err: %d\n", res); +  if(res != 0) printf("I:lrtp_create_profile (v) err: %d\n", res);    res = lrtp_create_profile(lrtp, PROFILE_OPUS, CSRC_A, OPTION_END); -  if(res != 0) printf("O:lrtp_create_profile (a) err: %d\n", res); +  if(res != 0) printf("I:lrtp_create_profile (a) err: %d\n", res);    char packet[64*1024];    while(running) { @@ -141,18 +147,18 @@ void InputStreamer::run()      unsigned int ts;      while((ret = lrtp_dequeue_frame(lrtp, frame, sizeof(frame), &csrc, &ts))                != 0) { -      if(ret < 0) printf("\nlrtp_dequeue_frame: %d\n", ret); +      if(ret < 0) printf("I:lrtp_dequeue_frame: %d\n", ret);        if(csrc == CSRC_V) {          // Video frame          Frame f(frame, ret);          f.ts = ts; -        emit newImage(f); +        emit newImage(peer, f);          //printf("v"); fflush(stdout);        } else if(csrc == CSRC_A) {          // Audio frame          Frame f(frame, ret);          f.ts = ts; -        emit newAudio(f); +        emit newAudio(peer, f);          //printf("a"); fflush(stdout);        } else {          printf("Unknown stream: CSRC: %d\n", csrc); @@ -163,13 +169,13 @@ void InputStreamer::run()    printf("done\n");    status = lrtp_destroy_profile(lrtp, CSRC_V); -  if(status != LRTP_OK) printf("O:lrtp_destroy_profile (v) err: %d\n", status); +  if(status != LRTP_OK) printf("I:lrtp_destroy_profile (v) err: %d\n", status);    status = lrtp_destroy_profile(lrtp, CSRC_A); -  if(status != LRTP_OK) printf("O:lrtp_destroy_profile (a) err: %d\n", status); +  if(status != LRTP_OK) printf("I:lrtp_destroy_profile (a) err: %d\n", status);    status = lrtp_close(lrtp); -  if(status != LRTP_OK) printf("O:lrtp_close err: %d\n", status); +  if(status != LRTP_OK) printf("I:lrtp_close err: %d\n", status);  }  size_t InputStreamer::getTotal() @@ -178,3 +184,8 @@ size_t InputStreamer::getTotal()    total = 0;    return t;  } + +QString InputStreamer::getName() +{ +  return peer_name; +} | 
