<div dir="ltr"><div>Dear Ross,<br><br>So far I know how to transfer H.264 video streams to clients by subclassing the class OnDemandServerMediaSubsession. To send metadata to the client I am using the same way as the video stream, and also I follow your answer I found here: <a href="http://lists.live555.com/pipermail/live-devel/2018-June/020938.html">http://lists.live555.com/pipermail/live-devel/2018-June/020938.html</a><br><br>This is the source:<br><br><i>FramedSource* MyServerMediaSubsession<br>::createNewStreamSource(unsigned clientSessionId, unsigned& estBitrate) {<br><br>   FramedSource* framedSource = nullptr;<br> <br>      switch (codecId) {<br>    case MediaCodec::H264:<br>                {<br>                     FramedSource* framedSource = new MyVideoSource(envir(), pTaskScheduler, codecId);<br>                     framedSource = H264VideoStreamDiscreteFramer::createNew(envir(), framedSource);<br>               }<br>             break;<br><br>      case MediaCodec::OnvifMeta:<br>           //framedSource = SimpleRTPSource::createNew(envir(), &rtpGroupsock, 107, 90000, <br>          //      "application/vnd.onvif.metadata", 1, False);<br>                break;<br>        }<br><br>   return framedSource;<br>}<br><br>RTPSink* MyServerMediaSubsession::createNewRTPSink(Groupsock* rtpGroupsock,<br>        unsigned char rtpPayloadTypeIfDynamic, FramedSource* inputSource)<br>{<br>  RTPSink* pRTPSink {};<br><br>       switch (codecId)<br>      {<br>     case MediaCodec::H264:<br>                pRTPSink = H264VideoRTPSink::createNew(envir(), rtpGroupsock, rtpPayloadTypeIfDynamic);<br>               break;<br><br>      case MediaCodec::OnvifMeta:<br>           pRTPSink = SimpleRTPSink::createNew(envir(), rtpGroupsock, rtpPayloadTypeIfDynamic,<br>                                                                                   90000, "application", "VND.ONVIF.METADATA", 1, False);<br>            break;<br>        }<br><br>   return pRTPSink;<br>}<br></i><br><br>I am struggling to find a correct 'rtpGroupsock' argument to the  function <i>SimpleRTPSource::createNew().</i></div><div>Please tell me the right way to get 'rtpGroupsock' to create the SimpleRTPSource object.<br><br><i>    framedSource = SimpleRTPSource::createNew(envir(), &rtpGroupsock, 107, 90000, <br>            "application/vnd.onvif.metadata", 1, False);</i><br></div><div><br></div><div>Thank you.</div><div><br></div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div></div></div></div></div>