Support Request #1485
closedInterface Binding for StreamingSink cannot get server Object
Description
Supprotanfrage
Hallo zusammen,
ich wollte zur Kommunikation zwischen einem Filter im FilterGraph und einem Streaming Sink Interface Binding verwenden. Hierbei failed aber immer die "GetServerObject" Methode und ich kann somit nicht auf das Interface zugreifen.
Ich habe das ganze auf folgendes Minimalbeispiel reduzieren können:
Den "demo_interface_binding_filter" Example Filter habe ich um einen Binding Server in der Configure Methode erweitert, wobei das "IPrintInterface" und die "cPrinter" Implementierung die gleichen sind wie im Example.
m_pPrinter = make_object_ptr<cPrinter>();
RETURN_IF_FAILED(create_server<IPrintInterface>(*m_pFilter, "printer_server", m_pPrinter));
Den "demo_interface_source" Example Filter habe ich als StreamingSink umgebaut, in der Construct Methode erzeuge ich den Binding Client:
RETURN_IF_FAILED(create_client<IPrintInterface>(*this, "printer_client"));
Wenn ich dann z.B. in der Init oder der StartStreaming Methode auf das Server Object wie folgt zugreifen will, failed die "GetServerObject" Methode.
RETURN_IF_FAILED(FindBindingObject("printer_client", m_pBindingClient));
object_ptr<IPrintInterface> pPrinter;
//the next line will fail
if (IS_OK(m_pBindingClient->GetServerObject(pPrinter)))
{
pPrinter->Print(adtf_util::cString::Format("this is streaming sink"));
}
else
{
LOG_INFO("failed to get binding server for printer_client");
}
Mein Filter Graph sieht wie folgt aus:
Und der entsprechende Streaming Graph:
Der Debug Output der Console nach dem Runlevel 5 lässt mich vermuten, dass die Connection vom Filter Graph Dock zur Streaming Sink nicht gezogen wird und deshalb kein Server Object gefunden werden kann.
Denn bei der Konfiguration mit dem "demo_interface_binding_filter", welcher eine StreamingSource ist, ist eine entsprechender Connect Ausgabe in der Console zu sehen.
Den Code meines Beispiels habe ich auch noch angehängt, falls das hilft.
Lösung
Produktticket ACORE-9334 angelegt
Files
Updated by hidden over 6 years ago
- Topic set to ADTF::SDK
- Customer set to AUDI
@Martin, bitte mal anschauen
Updated by hidden over 6 years ago
- Resolution set to Product Issue Opened
Ich kann das Verhalten nachstellen und hab auch den Fehler gefunden -> Produktticket ACORE-9334. Leider gibts keinen Workaround.
Updated by hidden over 6 years ago
Hallo Peter Hein,
ist deine Anfrage damit beantwortet und wir können das Ticket schließen?
Bitte bis Fr, 12.01.2018 Feedback geben.
Andernfalls schließen wir das Ticket.
Gruß,
Michael
Updated by hidden over 6 years ago
- Product Issue Numbers set to https://www.cip.audi.de/jira/browse/ACORE-9334
- Support Level changed from 2nd Level to 3rd Level
Updated by hidden over 6 years ago
- Subject changed from Interface Binding für Streaming Sink cannot get server Object to Interface Binding for StreamingSink cannot get server Object
- Description updated (diff)
- Status changed from In Progress to To Be Closed
Kann geschlossen werden, Produktticket ist angelegt
Updated by hidden over 6 years ago
Passt für mich, soweit. Schön das der Fehler gefunden wurde.
Updated by hidden over 6 years ago
- Project changed from 11 to Public Support
- Private changed from Yes to No