Project

General

Profile

Actions

Support Request #14745

closed

Creating output pins via qml not calling RequestDynamicOutputPin

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

Status:
Closed
Priority:
Normal
Customer:
AUDI
Department:
EFS
Requester's Priority:
Normal
Support Level:
2nd Level
Resolution:
Solved Issue
Product Issue Numbers:
Affected Products:
Platform:
Windows 10 64bit
Topic:
ADTF::SDK
FAQ Links:

Description

Supportanfrage

Ich habe folgendes Problem: wenn ich via qml dynamische Output Pins erzeuge (sind im Filtergraphen zu sehen) wird für diese RequestDynamicOutputPin nicht gecalled, für welche die ich selber im FilterGraphen erzeuge aber schon. Ist das bekannt / umgehbar?

Lösung

Wenn ein Pin nicht mit einem Sample Stream verbunden ist, fließen auch keine Daten, die Callbacks werden dann auch nicht gerufen.

Hier ein kleines Bsp:

Die Pins data_ce und data_ce_out hab ich im CE angelegt.
Die Pins data_qml und data_qml_out kommen vom Filter Editor:

EditorPluginBase 
{
    id: root

    onExecute: 
    {
        createInputPin("data_qml")
        createOutputPin("data_qml_out")
    }
}

Im Filter selbst mach ich folgendes:

tResult cDynamicFilter::RequestDynamicOutputPin(const tChar* strName,
                                                const adtf::ucom::ant::iobject_ptr<const adtf::streaming::ant::IStreamType>& pType)
{
    LOG_INFO("########### %s", strName);
    RETURN_NOERROR;
}

Und beim Launch wird die Funktion auch wunderbar gecalled:

// ...
2021-07-16 13:06:40 [INFO]: ########### data_ce_out [synchronizer_filter.cpp(64)]
2021-07-16 13:06:40 [INFO]: ########### data_qml_out [synchronizer_filter.cpp(64)]

Files

filter_ce.png (13.7 KB) filter_ce.png hidden, 2021-07-16 11:10
Actions #1

Updated by hidden over 2 years ago

  • Status changed from New to In Progress
  • Customer set to AUDI
  • Department set to EFS
Actions #3

Updated by hidden over 2 years ago

  • Topic set to ADTF::SDK
Actions #4

Updated by hidden over 2 years ago

  • Affected Products ADTF 3.12.5 added
  • Platform Windows 10 64bit added
Actions #5

Updated by hidden over 2 years ago

Hallo Dennis,

kann es sein, dass die Pins nicht verbunden sind ?

Hier ein kleines Bsp:

Die Pins data_ce und data_ce_out hab ich im CE angelegt.
Die Pins data_qml und data_qml_out kommen vom Filter Editor:

EditorPluginBase 
{
    id: root

    onExecute: 
    {
        createInputPin("data_qml")
        createOutputPin("data_qml_out")
    }
}

Im Filter selbst mach ich folgendes:

tResult cDynamicFilter::RequestDynamicOutputPin(const tChar* strName,
                                                const adtf::ucom::ant::iobject_ptr<const adtf::streaming::ant::IStreamType>& pType)
{
    LOG_INFO("########### %s", strName);
    RETURN_NOERROR;
}

Und beim Launch wird die Funktion auch wunderbar gecalled:

// ...
2021-07-16 13:06:40 [INFO]: ########### data_ce_out [synchronizer_filter.cpp(64)]
2021-07-16 13:06:40 [INFO]: ########### data_qml_out [synchronizer_filter.cpp(64)]

Das dürfe ziemlich vereinfacht deinen Use Case treffen oder ?

Actions #7

Updated by hidden over 2 years ago

Hallo Dennis,

beantwortet das deine Frage ?

Actions #8

Updated by hidden over 2 years ago

Hallo Florian, ja, die waren nicht verbunden. Die Funktion wird dann nur gecalled wenn sie verbunden sind? Das würde die Frage beantworten

Actions #9

Updated by hidden over 2 years ago

  • Project changed from 4 to Public Support
  • Description updated (diff)
  • Status changed from Customer Feedback Required to To Be Closed
  • Resolution set to Solved Issue

Hallo Dennis,

Die Funktion wird dann nur gecalled wenn sie verbunden sind?

Korrekt! Dann werden Daten übertragen, dann springen auch die entsprechenden Callbacks an.
Pins sind am Ende nur die konfigurierbare Hülle im Graphen, um Sample Streams, Reader und Write zu definieren.
Von der Architektur her wollte man auch vermeiden, dass Daten an Pins gesendet werden und Perfomance kosten, die keiner abgreift, deshalb ist das entkoppelt.

Actions #10

Updated by hidden over 2 years ago

  • Private changed from Yes to No
Actions #11

Updated by hidden about 2 years ago

  • Status changed from To Be Closed to Closed
Actions

Also available in: Atom PDF