[Live-devel] Adding some DVB Tables to a Stream

Thomas Göllner goelli at goelli.de
Mon Jan 27 02:23:13 PST 2014


Thanks Ross for your quick reply.

I have made a new subclass of MPEG2TransportUDPServerMediaSubsession and
added my "SDTinserter" subclass of FramedFilter into the filter chain. The
createNewStreamSource() function ends like that:

...
transportStreamSource = SDTInserter::createNew(envir(),
transportStreamSource);
transportStreamSource = MPEG2TransportStreamFramer::createNew(envir(),
transportStreamSource);
return transportStreamSource;
}

The SDTInserter is only a dummy now, that is expected to only pass all
packets, because I do not fully understand this filter chain. I've
implementet a doGetNextFrame() function, that calls

fInputSource->getNextFrame(fTo, fMaxSize, afterGettingFrame, this,
FramedSource::handleClosure, this);

If the dummy works, I want to insert the tables here. Periodically I will
write a table frame to fTo and call the getNextFrame function with
fTo[newStart] and lower fMaxSize.

The static afterGettingFrame function of my SDTinserter dummy simply calls
the dummyobjects afterGettingFrame function and that calls
FramedSource::afterGetting(this);

But I think I have overseen something, because that doesn't work.

Do you have another hint for me how the data is carried from RTP/UDP Source
to the filter and especially from the filter to... to what - the Sink I
guess ;-) ?

Best regards,
Thomas Göllner





More information about the live-devel mailing list