Project

General

Profile

Actions

Support Request #1485

closed

Interface Binding for StreamingSink cannot get server Object

Added by hidden over 6 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Normal
Customer:
AUDI
Department:
Requester's Priority:
Normal
Support Level:
3rd Level
Resolution:
Product Issue Opened
Affected Products:
Platform:
Windows 7 64bit
Topic:
ADTF::SDK
FAQ Links:

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

Filter_Graph.PNG (15.2 KB) Filter_Graph.PNG hidden, 2017-12-21 13:39
Streaming_Graph.PNG (65 KB) Streaming_Graph.PNG hidden, 2017-12-21 13:39
InterfaceBindingStreamingSink.zip (3.26 KB) InterfaceBindingStreamingSink.zip hidden, 2017-12-21 13:50
Actions #1

Updated by hidden over 6 years ago

  • Topic set to ADTF::SDK
  • Customer set to AUDI

@Martin, bitte mal anschauen

Actions #2

Updated by hidden over 6 years ago

  • Status changed from New to In Progress
Actions #3

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.

Actions #4

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

Actions #5

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
Actions #7

Updated by hidden over 6 years ago

  • Project changed from Public Support to 11
Actions #8

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

Actions #9

Updated by hidden over 6 years ago

  • Status changed from To Be Closed to Closed
Actions #10

Updated by hidden over 6 years ago

Passt für mich, soweit. Schön das der Fehler gefunden wurde.

Actions #11

Updated by hidden about 6 years ago

  • Project changed from 11 to Public Support
  • Private changed from Yes to No
Actions

Also available in: Atom PDF