<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Dmitri,<div><br></div><div><div><blockquote type="cite"><div>I implemented my own MPEG-2 device source based on your device source sample<br>and the event trigger mechanism. I use MPEG1or2VideoStreamDiscreteFramer as a<br>filter because I get the data from my source as individual frames (I-, P- and<br>B-pictures). That works quite well.<br></div></blockquote><div><br></div>First, I assume that you are feeding the output from your "MPEG1or2VideoStreamDiscreteFramer" into a "MPEG1or2VideoRTPSink" (which implements the RFC 2250 RTP payload format for MPEG-1 or 2 video). I don't know why Wireshark claims to be reporting bad RTP packets; perhaps Wireshark is in error? FYI, the (4-byte) video special header at the front of the RTP packet is set on line 144 of "MPEG1or2VideoRTPSink.cpp".</div><div><br></div><div><br></div><div><blockquote type="cite"><div>But I have problems with the understanding when and how to inject Sequence<br>headers. My source provides I-frames which have a sequence header in front of<br>each of them.</div></blockquote><div><br></div>This is good.</div><div><br></div><div><br></div><div><blockquote type="cite"><div>If I remove the sequence headers – the I-picture starts now with a picture<br>start marker – then everything seems to be ok – except for the very first<br>I-frame which starts the streaming. It must still contain the sequence header.<br>Otherwise the stream cannot be replayed. With that the very first I-frame<br>gets the picture type 0 (forbidden) as mentioned above.<br></div></blockquote><div><br></div>This suggests to me that Wireshark is in error (assuming, of course, that you are feeding your "MPEG1or2VideoStreamDiscreteFramer" into a "MPEG1or2VideoRTPSink", and not something else (like a "SimpleRTPSink")).</div><div><br></div><div><br></div><div><blockquote type="cite"><div>Additionally the MPEG1or2VideoStreamDiscreteFramer has the parameter vshPeriod.<br>I used the default of 5 and stripped all Sequence headers off from the<br>I-pictures except the very first one to provide that information to the framer<br>at all. But when inspecting the stream I could see the sequence header just<br>ones (with the very first I-frame). Shouldn’t it be injected regularly<br>with the vshPeriod of the discrete framer.<br></div></blockquote><div><br></div>Yes, it should. The "vshPeriod" parameter specifies the *maximum* time period until a (the most recently seen) Video Sequence Header will be reinserted in the output stream. However, if your I-frames all begin with Video Sequence Headers, then this should be irrelevant (assuming that your I-frames occur more frequently than once every 5 seconds).</div><div><br></div><div>One other thing that you should check: Make sure that you are setting "fPresentationTime" properly in your input source class (i.e., your class that's based upon the "DeviceSource" code).</div></div><br><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>