home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
Language specific support
Deutsches MediaPortal Forum
Plugins & Skins für das MediaPortal
Plugins & Erweiterungen
Probleme bei der Erweiterung des MPSA
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="kuehnch" data-source="post: 115901" data-attributes="member: 21360"><p>Hallo,</p><p>ich beschäftige mich derzeit mit einer kleinen Erweiterung des Mediaportal-Streamanalysers, welcher ja als Source im Filters-Ordner des Trunks zu finden ist. Ich habe hier ein wenig Code hinzugefügt und die Schnittstelle um zwei Methoden erweitert. Auf der Seite von MP habe ich ebenfalls das IEPGGrabber-Interface entsprechend angepasst.</p><p>Nun fange ich mir beim Zugriff auf meine Funktionen immer eine Exception:</p><p></p><p></p><p></p><p>Das Witzige ist, dass es eine Methode "GetEPGEventCount" gibt, welche exakt dieselbe Signatur wie meine Methode aufweist. Ich habe also mehr oder weniger Copy&Paste betrieben, jedoch kommt es schon garnicht erst zum funktionierenden Zugriff auf die Schnittstellenmethode in der MPSA.cpp (ein Debug-Log-Eintrag wird nicht erzeugt).</p><p></p><p>Vergesse ich irgendwas Wesentliches, was COM angeht? Eine Registrierung oder ähnliches? Wer hat MPSA schonmal erweitert? </p><p></p><p>Ich wollte mich an der PREMIERE-NVOD-Sache versuchen (SportPortal/Direkt-Optionskanäle) und habe halt den Streamanalyser so erweitert, dass er die Daten vorfiltert. Schaut bisher so aus im LOG:</p><p></p><p>[code]02-07-2006 11:38:16 epg: LinkageDescriptor 'Portal' (type: 0xb0 tsid: 0x3 onid: 0x85 sid: 0x11)</p><p>02-07-2006 11:38:16 epg: LinkageDescriptor 'Motorsport' (type: 0xb0 tsid: 0x3 onid: 0x85 sid: 0xde)</p><p>02-07-2006 11:38:16 epg: LinkageDescriptor 'Kompakt' (type: 0xb0 tsid: 0x11 onid: 0x85 sid: 0xdd)</p><p>02-07-2006 11:38:16 epg: LinkageDescriptor 'Kompakt 16:9' (type: 0xb0 tsid: 0x3 onid: 0x85 sid: 0xf0)</p><p>02-07-2006 11:38:16 epg: LinkageDescriptor 'News' (type: 0xb0 tsid: 0x1 onid: 0x85 sid: 0x309)[/code]</p><p></p><p>Nun wollte ich diese Daten dann per GetSubChannelCount(..) und GetSubChannel(..) in MP weiterverarbeiten, was mir aber halt nicht gelingt. Hier mal eine der zwei Methoden:</p><p></p><p>MPSA.h</p><p>[code]IEPGGrabber</p><p> STDMETHOD(GetSubChannelCount) (THIS_ ULONG channel, ULONG* subChannelCount)PURE;[/code]</p><p></p><p>[code]CStreamAnalyser</p><p> STDMETHODIMP GetSubChannelCount( ULONG channel, ULONG* subChannelCount);[/code]</p><p></p><p>MPSA.cpp</p><p>[code]STDMETHODIMP CStreamAnalyzer::GetSubChannelCount( ULONG channel, ULONG* subChannelCount)</p><p>{</p><p> try</p><p> {</p><p> Log("Called: CStreamAnalyzer::GetSubChannelCount");</p><p> *subChannelCount=m_pEPGPin->GetSubChannelCount(channel);</p><p> }</p><p> catch(...)</p><p> {</p><p> Dump("mpsaa: unhandled exception in GetSubChannelCount()");</p><p> }</p><p></p><p> return S_OK;</p><p>}[/code]</p><p></p><p>IEPGGrabber.cs</p><p>[code][PreserveSig]</p><p>int GetSubChannelCount([In] uint channel, [Out] out uint subChannelCount);[/code]</p><p></p><p>Zu der Log-Ausgabe "Called: CStreamAnalyzer::GetSubChannelCount" kommt es garnicht erst, woraus zu schließen ist, dass es schon bei COM irgendwo krachen muss.</p></blockquote><p></p>
[QUOTE="kuehnch, post: 115901, member: 21360"] Hallo, ich beschäftige mich derzeit mit einer kleinen Erweiterung des Mediaportal-Streamanalysers, welcher ja als Source im Filters-Ordner des Trunks zu finden ist. Ich habe hier ein wenig Code hinzugefügt und die Schnittstelle um zwei Methoden erweitert. Auf der Seite von MP habe ich ebenfalls das IEPGGrabber-Interface entsprechend angepasst. Nun fange ich mir beim Zugriff auf meine Funktionen immer eine Exception: Das Witzige ist, dass es eine Methode "GetEPGEventCount" gibt, welche exakt dieselbe Signatur wie meine Methode aufweist. Ich habe also mehr oder weniger Copy&Paste betrieben, jedoch kommt es schon garnicht erst zum funktionierenden Zugriff auf die Schnittstellenmethode in der MPSA.cpp (ein Debug-Log-Eintrag wird nicht erzeugt). Vergesse ich irgendwas Wesentliches, was COM angeht? Eine Registrierung oder ähnliches? Wer hat MPSA schonmal erweitert? Ich wollte mich an der PREMIERE-NVOD-Sache versuchen (SportPortal/Direkt-Optionskanäle) und habe halt den Streamanalyser so erweitert, dass er die Daten vorfiltert. Schaut bisher so aus im LOG: [code]02-07-2006 11:38:16 epg: LinkageDescriptor 'Portal' (type: 0xb0 tsid: 0x3 onid: 0x85 sid: 0x11) 02-07-2006 11:38:16 epg: LinkageDescriptor 'Motorsport' (type: 0xb0 tsid: 0x3 onid: 0x85 sid: 0xde) 02-07-2006 11:38:16 epg: LinkageDescriptor 'Kompakt' (type: 0xb0 tsid: 0x11 onid: 0x85 sid: 0xdd) 02-07-2006 11:38:16 epg: LinkageDescriptor 'Kompakt 16:9' (type: 0xb0 tsid: 0x3 onid: 0x85 sid: 0xf0) 02-07-2006 11:38:16 epg: LinkageDescriptor 'News' (type: 0xb0 tsid: 0x1 onid: 0x85 sid: 0x309)[/code] Nun wollte ich diese Daten dann per GetSubChannelCount(..) und GetSubChannel(..) in MP weiterverarbeiten, was mir aber halt nicht gelingt. Hier mal eine der zwei Methoden: MPSA.h [code]IEPGGrabber STDMETHOD(GetSubChannelCount) (THIS_ ULONG channel, ULONG* subChannelCount)PURE;[/code] [code]CStreamAnalyser STDMETHODIMP GetSubChannelCount( ULONG channel, ULONG* subChannelCount);[/code] MPSA.cpp [code]STDMETHODIMP CStreamAnalyzer::GetSubChannelCount( ULONG channel, ULONG* subChannelCount) { try { Log("Called: CStreamAnalyzer::GetSubChannelCount"); *subChannelCount=m_pEPGPin->GetSubChannelCount(channel); } catch(...) { Dump("mpsaa: unhandled exception in GetSubChannelCount()"); } return S_OK; }[/code] IEPGGrabber.cs [code][PreserveSig] int GetSubChannelCount([In] uint channel, [Out] out uint subChannelCount);[/code] Zu der Log-Ausgabe "Called: CStreamAnalyzer::GetSubChannelCount" kommt es garnicht erst, woraus zu schließen ist, dass es schon bei COM irgendwo krachen muss. [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
Language specific support
Deutsches MediaPortal Forum
Plugins & Skins für das MediaPortal
Plugins & Erweiterungen
Probleme bei der Erweiterung des MPSA
Contact us
RSS
Top
Bottom