Can anyone post a working graph for PCTV 100e (aka PCTV USB2 2821) ? (1 Viewer)

rspbr

Portal Member
April 16, 2007
5
0
Home Country
Germany Germany
Hi,

Executive summary: While attempting to setup my PCTV 100e, I might have found a bug in MP routines to create a graph.

I'm trying to setup MediaPortal on my machine and have one of those damn PCTV 100e (aka PCTV USB2 2821) devices.

For some reason, although I do have the MainConcept codec, I cannot get the capture to work. I can only see that damn old "cannot create graph" error message.

I already put down some significant amount of testing into this, and figured out that there seems to be some kind of problem connecting the "PCTV USB2 2821 Crossbar" audio output (pin 1) with the "PCTV USB2 2821 Audio" microphone input (pin 0). (This has been tested using GraphEdit).

Just to be clear: the video track is fine - just the audio cannot connect.

So my question to MediaPortal users is: can anyone post a screenshot of a working graph for that device?

--- in-depth details ---

What's happening is quite interesting: it seems that in my machine, if I create the filter "PCTV USB2 2821 Audio" from the "Audio Capture Source" group in GraphEdit, the graph connects, although I have no sound.

If I create the filter from the filter "PCTV USB2 2821 Audio" from the "WDM Streaming Capture Devices", then GraphEdit is not able to connect them. The exact error message is:

"These filter cannot agree on a connection. Verify type compatibility of input pin and output pin. (Retun code: 0x80040217)"

Just as a reminder: for the Video, the WDM filters work just fine. We are just talking about the audio here.

It is like something is wrong with the WDM side of that filter, but I need some kind of reference here.

:D

--- even more in-depth details, obtained after some investigation ---

This is the log from the graph creation attempt:

17/4/2007 00:59:49 SinkGraphEx:CreateGraph() IN
17/4/2007 00:59:49 key:confused:YSTEM\CurrentControlSet\Enum\PCI\vid_2304&pid_0208&mi_00\6&3b618d17&0&0000
17/4/2007 00:59:49 LoadDefs for device at
17/4/2007 00:59:49 key:confused:YSTEM\CurrentControlSet\Enum\PCI\vid_2304&pid_0208&mi_00\6&3b618d17&0&0000
17/4/2007 00:59:49 defs loaded for device at
17/4/2007 00:59:49 video device moniker :mad:device:pnp:\\?\usb#vid_2304&pid_0208&mi_00#6&3b618d17&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global
17/4/2007 00:59:49 captureDeviceDeviceName:mad:device:pnp:\\?\usb#vid_2304&pid_0208&mi_00#6&3b618d17&0&0000
17/4/2007 00:59:49 FindInstance:mad:device:pnp:\\?\usb#vid_2304&pid_0208&mi_00#6&3b618d17&0&0000
17/4/2007 00:59:49 key:confused:YSTEM\CurrentControlSet\Enum\usb\vid_2304&pid_0208&mi_00\6&3b618d17&0&0000
17/4/2007 00:59:49 serviceName:DCamUSBEMPIA
17/4/2007 00:59:49 key:confused:YSTEM\CurrentControlSet\Services\DCamUSBEMPIA\Enum
17/4/2007 00:59:49 Number of cards:1
17/4/2007 00:59:49 card#0=USB#Vid_2304&Pid_0208&MI_00#6&3b618d17&0&0000
17/4/2007 00:59:49 using card:#0
17/4/2007 00:59:49 Using card#0
17/4/2007 00:59:49 filter tvtuner='PCTV USB2 2821 TVTuner' check:True
17/4/2007 00:59:49 filter tvaudio='PCTV USB2 2821 TVAudio' check:True
17/4/2007 00:59:49 filter crossbar='PCTV USB2 2821 Crossbar' check:True
17/4/2007 00:59:49 filter capture='PCTV USB2 2821 Capture' check:True
17/4/2007 00:59:49 filter audcapture='PCTV USB2 2821 Audio' check:True
17/4/2007 00:59:49 CheckDevice:@device:cm:{33D9A762-90C8-11D0-BD43-00A0C911CE86}\PCTV USB2 2821 Audio
17/4/2007 00:59:49 FindUniqueFilter:card#0 filter:@device:cm:{33D9A762-90C8-11D0-BD43-00A0C911CE86}\PCTV USB2 2821 Audio
17/4/2007 00:59:49 Exception :confused:ystem.ArgumentOutOfRangeException: Length cannot be less than zero.
Parameter name: length
at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
at MediaPortal.TV.Recording.GraphHelper.FindUniqueFilter(String monikerName, Int32 instance)
at MediaPortal.TV.Recording.GraphHelper.LoadDefinitions(String videoDevice, String videoDeviceMoniker)
17/4/2007 00:59:49 Exception :Length cannot be less than zero.
Parameter name: length
17/4/2007 00:59:49 site :confused:ystem.String InternalSubStringWithChecks(Int32, Int32, Boolean)
17/4/2007 00:59:49 source :mscorlib
17/4/2007 00:59:49 stacktrace: at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
at MediaPortal.TV.Recording.GraphHelper.FindUniqueFilter(String monikerName, Int32 instance)
at MediaPortal.TV.Recording.GraphHelper.LoadDefinitions(String videoDevice, String videoDeviceMoniker)
17/4/2007 00:59:49 SinkGraphEx: Create new filter graph (IGraphBuilder)
17/4/2007 00:59:49 SinkGraphEx: Get the Capture Graph Builder (ICaptureGraphBuilder2)
17/4/2007 00:59:49 SinkGraphEx: Link the CaptureGraphBuilder to the filter graph (SetFiltergraph)
17/4/2007 00:59:49 SinkGraphEx: Add graph to ROT table
17/4/2007 00:59:49 SinkGraphEx: Adding configured filters...
17/4/2007 00:59:50 SinkGraphEx: adding filter <PCTV USB2 2821 TVTuner> with moniker <@device:pnp:\\?\usb#vid_2304&pid_0208&mi_00#6&3b618d17&0&0000#{a799a800-a46d-11d0-a18c-00a02401dcd4}\global>
17/4/2007 00:59:50 SinkGraphEx: Added filter <PCTV USB2 2821 TVTuner> with moniker <@device:pnp:\\?\usb#vid_2304&pid_0208&mi_00#6&3b618d17&0&0000#{a799a800-a46d-11d0-a18c-00a02401dcd4}\global>
17/4/2007 00:59:50 SinkGraphEx: adding filter <PCTV USB2 2821 TVAudio> with moniker <@device:pnp:\\?\usb#vid_2304&pid_0208&mi_00#6&3b618d17&0&0000#{a799a802-a46d-11d0-a18c-00a02401dcd4}\global>
17/4/2007 00:59:50 SinkGraphEx: Added filter <PCTV USB2 2821 TVAudio> with moniker <@device:pnp:\\?\usb#vid_2304&pid_0208&mi_00#6&3b618d17&0&0000#{a799a802-a46d-11d0-a18c-00a02401dcd4}\global>
17/4/2007 00:59:50 SinkGraphEx: adding filter <PCTV USB2 2821 Crossbar> with moniker <@device:pnp:\\?\usb#vid_2304&pid_0208&mi_00#6&3b618d17&0&0000#{a799a801-a46d-11d0-a18c-00a02401dcd4}\global>
17/4/2007 00:59:50 SinkGraphEx: Added filter <PCTV USB2 2821 Crossbar> with moniker <@device:pnp:\\?\usb#vid_2304&pid_0208&mi_00#6&3b618d17&0&0000#{a799a801-a46d-11d0-a18c-00a02401dcd4}\global>
17/4/2007 00:59:50 SinkGraphEx: adding filter <PCTV USB2 2821 Capture> with moniker <@device:pnp:\\?\usb#vid_2304&pid_0208&mi_00#6&3b618d17&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global>
17/4/2007 00:59:50 SinkGraphEx: Added filter <PCTV USB2 2821 Capture> with moniker <@device:pnp:\\?\usb#vid_2304&pid_0208&mi_00#6&3b618d17&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global>
17/4/2007 00:59:50 Exception :confused:ystem.ArgumentException: Value does not fall within the expected range.
at System.Runtime.InteropServices.Marshal.MkParseDisplayName(IBindCtx pbc, String szUserName, UInt32& pchEaten, IMoniker& ppmk)
at System.Runtime.InteropServices.Marshal.BindToMoniker(String monikerName)
at MediaPortal.TV.Recording.SinkGraphEx.CreateGraph(Int32 Quality)
17/4/2007 00:59:50 Exception :Value does not fall within the expected range.
17/4/2007 00:59:50 site :Void MkParseDisplayName(System.Runtime.InteropServices.ComTypes.IBindCtx, System.String, UInt32 ByRef, System.Runtime.InteropServices.ComTypes.IMoniker ByRef)
17/4/2007 00:59:50 source :mscorlib
17/4/2007 00:59:50 stacktrace: at System.Runtime.InteropServices.Marshal.MkParseDisplayName(IBindCtx pbc, String szUserName, UInt32& pchEaten, IMoniker& ppmk)
at System.Runtime.InteropServices.Marshal.BindToMoniker(String monikerName)
at MediaPortal.TV.Recording.SinkGraphEx.CreateGraph(Int32 Quality)

The programmer in me whispered: "Use the Source, Luke". :D

After consulting the SVN repository (see code), this is what the GraphHelper class has on that "FindUniqueFilter" method:

309 Log.Info(" FindUniqueFilter:card#{0} filter:{1}", instance, monikerName);
310
311 int pos1 = monikerName.IndexOf("#");
312 int pos2 = monikerName.LastIndexOf("#");
313 string left = monikerName.Substring(0, pos1);
314 string mid = monikerName.Substring(pos1 + 1, (pos2 - pos1) - 1);
315 mid = mid.Replace("#", "/");
316 string right = monikerName.Substring(pos2 + 1);
317 string registryKeyName = left + @"\" + mid + @"\" + right;
318
319 if (registryKeyName.StartsWith(@"@device:pnp:\\?\"))
320 registryKeyName = registryKeyName.Substring(@"@device:pnp:\\?\".Length);

...meaning that MP only supports devices that have a filter moniker of the form:

"@device:pnp:\\?\usb#vid_2304&pid_0208&mi_00#6&3b618d17&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"

Since on my setup, the PCTV USB2 2821 Audio filter has the following moniker:

"@device:cm:{33D9A762-90C8-11D0-BD43-00A0C911CE86}\PCTV USB2 2821 Audio"

... the parsing routine, which relies on the presence of "#", fails miserably.

The funny thing is, as I said previously, there is a WDM equivalent for the PCTV USB2 2821 Audio filter. Its moniker is:

@device:pnp:\\?\usb#vid_2304&pid_0208&mi_01#6&3b618d17&0&0001#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\wave

But this moniker is not being found by MP. :(

Any ideas on the next steps here?
 

rspbr

Portal Member
April 16, 2007
5
0
Home Country
Germany Germany
I managed to get a screenshot of the graph.

Note: there are two "PCTV USB2 2821 Audio" blocks because one is taken from the "Audio Capture Sources" (blue one) and the other is taken from "WDM Streaming Capture Devices" (orange one).

For the blue version, the audio graph connects fine, but there is no sound.

For the orange version, the audio graph cannot connect between the "output 2" pin from the infinite tee and the "microfone" input pin. Of course, there is no sound there as well.

(The infinite tee is there only to make it easier to connect all of them together)

I noticed also that the output pin of the crossbar has no media type defined. :confused:
(See the second attachment)
 

jbcoder21

New Member
May 3, 2007
3
0
Is this what you needed?

Sorry I am pretty new with the whole graphedit thing but the attached graph works like a champ with my PCTV 100e (PCTV Pro USB2) box. Sound and Video are synched perfectly and flow as expected.

Not sure if this helps .. and frankly don't know how to apply this test into practical use with media portal or tv server though i would love to be able to have the use of them.
 

rspbr

Portal Member
April 16, 2007
5
0
Home Country
Germany Germany
Thanks for the answer. Have you tried to install mediaportal? I would love to see the output of your log files. Especially the part where the device moniker is shown.

BTW, from which category have you selected the PCTV USB2 2821 Audio box? The WDM or the "Audio Capture Sources" one?

It could be that in my PC, there is a weird combination of sound devices or something... in any case, it would be interesting to know why (and maybe even fix it) :)
 

jbcoder21

New Member
May 3, 2007
3
0
Thanks for the answer. Have you tried to install mediaportal? I would love to see the output of your log files. Especially the part where the device moniker is shown.

BTW, from which category have you selected the PCTV USB2 2821 Audio box? The WDM or the "Audio Capture Sources" one?

It could be that in my PC, there is a weird combination of sound devices or something... in any case, it would be interesting to know why (and maybe even fix it) :)

i will try to upload my logs this weekend. i believe i grabbed from the 'audio capture sources' but i will confirm that before i post my logs as well.

i have installed mediaportal as well as the video server beta and they both have issues with loading up my card. i think i may have the info needed to build up a card definition (once i determine how to correctly translate graphedit into media portal's format) since, like i said, i have full sound/video and it runs perfectly in graphedit. obviously if i do manage to figure it out i will post it here for you and others so they can avoid the searching i have had to do to get this far ;)

starting to think i should have dropped the extra $80 or so to get the haup card after all :D
 

rspbr

Portal Member
April 16, 2007
5
0
Home Country
Germany Germany
i will try to upload my logs this weekend. i believe i grabbed from the 'audio capture sources' but i will confirm that before i post my logs as well.

Thank you for helping me debug this thing. It drives me insane that I am so close to get this working and still it won't work.

i have installed mediaportal as well as the video server beta and they both have issues with loading up my card. i think i may have the info needed to build up a card definition (once i determine how to correctly translate graphedit into media portal's format) since, like i said, i have full sound/video and it runs perfectly in graphedit. obviously if i do manage to figure it out i will post it here for you and others so they can avoid the searching i have had to do to get this far ;)

I can help you with that. I tell you what: As soon as I can, I will post my own version of the card definition and see if it works with you.

starting to think i should have dropped the extra $80 or so to get the haup card after all :D

To quote the Apple add "You are coming to a sad realization, Cancel or Allow?" ;)
To be honest, I have to agree with you. It is just that my inner hacker won't shut up until I make this work. Only then my conscience will allow me to buy the haup card. :)
 

jbcoder21

New Member
May 3, 2007
3
0
sorry i didn't post those this weekend. had my kids over and forgot all about it. i will try to do so this evening. regards
 

artoo

New Member
October 28, 2007
1
0
Home Country
Sweden Sweden
Hi!

Im new into Mediaportal (v 0.2.3.0 RC3) and have a Pinnacle PCTV USB2 100e.
I have searched but I cant figure out what to do with that graph file to make the TVcard work with Mediaportal.

Do I kneed another software or something?
 

sebastianand

Portal Member
June 25, 2007
24
1
43
Home Country
Sweden Sweden
Hello on an old thread, I have Mediaportal 1.1 RC6 and have exactly the same problem. Thing is that i can't find CaptureCardDefinitions.xml so i can use my own graph created with GraphEdit Do anyone have an Idea how i can use my Pinnacle 100e with mediaportal tvserver.

The card shows up in tvserver but i get that familiar "No Graph" popup
 

sebastianand

Portal Member
June 25, 2007
24
1
43
Home Country
Sweden Sweden
I have a perfect working graph in graphedit, but how do i use it in Mediaportal Rc6

/Sebastian
 

Attachments

  • pin100e.jpg
    pin100e.jpg
    68 KB

Users who are viewing this thread

Top Bottom