Доброго дня!
Для создания RTP потока использую live555 2013.11.29.
main
char is_stop = 0;
try {
rtp = new RTP(env, cfg, MAX_SHARED_SIZE, frame);
} catch (std::bad_alloc &e) {
*env << "Failed allocate memory for RTP class: " << e.what() << "\n";
goto EXIT;
}
env->taskScheduler().doEventLoop(&is_stop);
bool RTP::start(MediaSource &src)
{
bool r = _sink->startPlaying(src, NULL, NULL);
if (r)
*_env << "Starting RTP stream "
<< sink->rtpPayloadFormatName()
<< " to " << inet_ntoa(_sock->groupAddress()) << "\n";
else
*_env << "Failed starting RTP stream: "
<< *_env->getResultMsg() << "\n";
return r;
}
void Frame::doGetNextFrame()
{
.........
FramedSource::afterGetting(this);
}
Собственно вывод отладочной информации Socket::DebugLevel = 3 это подтверждает
00:03:20 Groupsock(3: 224.1.4.6, 5000, 64): created
00:03:20 Groupsock(3: 224.1.4.6, 5000, 64): wrote 1448 bytes, ttl 64
Starting RTP stream JPEG to 224.1.4.6
00:03:20 Groupsock(3: 224.1.4.6, 5000, 64): wrote 1448 bytes, ttl 64
00:03:20 Groupsock(3: 224.1.4.6, 5000, 64): wrote 1448 bytes, ttl 64
.......................
00:03:20 Groupsock(3: 224.1.4.6, 5000, 64): wrote 272 bytes, ttl 64
00:03:20 Groupsock(3: 224.1.4.6, 5000, 64): wrote 272 bytes, ttl 64
^C00:03:24 Groupsock(3: 224.1.4.6, 5000, 64): deleting
Спасибо.