Re: Missing links in RTP streaming solution
- From: Ralf Globisch <Ralf.Globisch@xxxxxxxxx>
- Date: Wed, 21 Nov 2007 04:47:06 -0800 (PST)
On Nov 21, 1:15 pm, "Alessandro Angeli" <nob...@xxxxxxxxxxxxxxxxxx>
wrote:
From: "Ralf Globisch"
[...]
So my first question is: How would I set the output media
type of the RTPSource dynamically? Let's say I didn't
know before hand if I was going to retrieve 352x288 or
320x240?
Since graphs A and B are now disconnected, the only way I
would be able to set the media type of the RTPSource
would be to store data about the media type such as the
VIDEOINFOHEADER in the RTP packet itself or as part of
the payload and once the first packet has been received I
could retrieve this data and set the type of the Source
Filter.
But this needs to be connected to the rest of the
pipeline before receiving the first packet so what am I
missing?
RTP is only a transport protocol and you need an out-of-band
signalling protocol, e.g. RTSP or a custom one, to negotiate
whatever needs negotiating beforehand, that is to establish
a "session". Usually, session establishment takes place
inside the source filter's IFileSourceFile::Load() method
(or upon connection of the input pins for other filters). If
you do not implement IFileSourceFilter, you can move the
negotiation to IBaseFilter::JoinFilterGraph() instead or to
IPin::Connect() (the latter is safer and you should
establish the session right at the beginning of the method,
before the actual connection process starts).
--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
//http://www.riseoftheants.com/mmx/faq.htm
Thanks for your speedy responses Geraint and Alessandro ;)
That makes sense though I'm still trying to digest the flow of events
in my head:
1) I open a URL in windows media player e.g.
rtsp://www.somedomain.com/someresource.file_extension
2) Media player does a lookup of .rtsp in the registry and determines
in the "Extensions" sub-key what source filter to use
for .file_extension
3) Media player loads the source filter into the graph
4) In the filter initialisation code I use RTSP or some protocol to
setup my RTP session before streaming starts
One more question though: How does the media player pass through the
"www.somedomain.com/someresource.file_extension" parameter to the
filter?
Thanks again for your replies, I really appreciate it,
Ralf
.
- Follow-Ups:
- Re: Missing links in RTP streaming solution
- From: Alessandro Angeli
- Re: Missing links in RTP streaming solution
- References:
- Missing links in RTP streaming solution
- From: Ralf Globisch
- Re: Missing links in RTP streaming solution
- From: Alessandro Angeli
- Missing links in RTP streaming solution
- Prev by Date: Re: Streaming MPEG-4 on VLC
- Next by Date: Re: Own TransformFilter
- Previous by thread: Re: Missing links in RTP streaming solution
- Next by thread: Re: Missing links in RTP streaming solution
- Index(es):
Relevant Pages
|