0

Are Muxers generally implemented to be written to a file.

I want to connect a renderer to the output pin of a mixer but it fails.

I have implanted my renderer so that I have the source code and I can step through it. If I connect it to a encoded data the renderer works.

My renderer does not do anything but just consumes the data. Actually it will send the data owed the wire. I am using webm muxer.

error code says they are not compatible types. Interesting thing is that, it does not even call my CheckMediaType or any of the input pin's functions. So whatever is happening is happening in the muxers internals.

I know it is hard to guess what the issue is. This also happened to me with the AVI muxer which comes with windows.

Evren Bingøl
  • 1,306
  • 1
  • 20
  • 32
  • Insufficient details. What is the graph topology, what are the advertised media types on pins that are unable to connect. You typically can connect any filters and pins that can negotiate a connection. – Roman R. Sep 13 '12 at 05:49
  • I read any sort of demuxed data of the web. it can be any thing as long as I can decoded to YUV. Audio Channel Has to be decoded to PCM, THen I create a VP8 Encoder and Vorbis Encoder and wrap it around webm Container using webm mux. if I connect the webm mux to a filesink ,Connect function works and the whatever I read of the web is decoded, encoded and contained in web. But when I connect the renderer which is also a BaseFilter. Connect function fails. WHen I query the MediaType on the output pin of muxer media type seems to be null. But same set up works for file sink. – Evren Bingøl Sep 13 '12 at 06:51
  • I but break points in the render and it does not even hit the break point. So it fails in the mix. Before querying any information on the input pins of the mix – Evren Bingøl Sep 13 '12 at 06:51
  • 2
    File writer implements `IStream` on its input pin. Multiplexer might need that and most likely you don't have this on your custom renderer. – Roman R. Sep 13 '12 at 06:52
  • 1
    Have you implemented `GetMediaType` thats is the fist function wich is called. You also need to implement `IStream`, because some muxers just use the IStream interface and not MediaSamples! Some muxer also check the class id of the filter, you can fake this when you override `GetClassID` and return the clsid of the FileWriter. – CPlusSharp Sep 13 '12 at 06:54
  • Thanks you so much< i am going look at this, tomorrow.So probably Queryinterface if failing somewhere. THanks a million. – Evren Bingøl Sep 13 '12 at 06:54
  • How did you set the preferred media type (MEDIATYPE_NULL or MEDIATYPE_Stream)? (used in EnumMediaTypes) – wimh Sep 15 '12 at 07:49

0 Answers0