Project

General

Profile

Actions

Support Request #6386

closed

GetNextSample does not return next sample and fails

Added by hidden about 5 years ago. Updated about 5 years ago.

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

Description

Supportanfrage

Mein alter Code funktioniert leider nicht mehr wie vorher.
vorher hatte ich in der Empfangsmethode:

ucom::object_ptr<const streaming::ISample> pReadSample = nullptr;
while(IS_OK(pReader->GetNextSample(pReadSample)))

GetNextSample liefert aber nun immer false zurück und das Sample bleibt leer.

Wenn ich den Code auf folgendes umstelle geht alles aber das war eigentlich nicht mein Ziel.

ucom::object_ptr<const streaming::ISample> pReadSample = nullptr;
if(IS_OK(pReader->GetLastSample(pReadSample)))

Lösung

Du hast die falsche ProcessInput erwischt. Wenn du selber über die Samples iterieren willst, nimm die ProcessInput(tNanoSeconds, ISampleReader*). Ansonsten nimm deine jetzige und verarbeite einfach pSample, dass Du schon als Parameter bekommst, dann kannst Du Dir die while Schleife sparen

Zur Info, die ProcessInput(ISampleReader*, iobject_ptr<const ISample>&) hat den ersten Parameter nur damit man erkennen von welchem Input das Sample kam. Da wird eben immer GetNextSample aufgerufen und dann an die Funktion weitergegeben, daher hat der Reader dann nicht noch ein Sample übrig.

Ticket zur Doku angelegt -> ACORE-9927

Actions #1

Updated by hidden about 5 years ago

  • Project changed from Public Support to 20
  • Status changed from New to In Progress
  • Topic set to ADTF::SDK
  • Customer set to VW
  • Department set to FORSCHUNG
Actions #2

Updated by hidden about 5 years ago

  • Description updated (diff)
  • Topic changed from ADTF::SDK to ADTF::FilterSDK
  • Support Level changed from 2nd Level to 3rd Level

@Timo: ant reader oder flash reader ?

Eigentlich machen unsere Examples genau das, siehe Data Processor Filter Tutorial

@Martin: Noch eine Idee ?

Actions #3

Updated by hidden about 5 years ago

Florian Roth wrote:

@Timo: ant reader oder flash reader ?

Eigentlich machen unsere Examples genau das, siehe Data Processor Filter Tutorial

@Martin: Noch eine Idee ?

Das ist einfach: Ich nehme den Reader der bei der folgenden Methode übergeben wird.
tResult TransformationInversionFilter::ProcessInput(ISampleReader* pReader, const iobject_ptr<const ISample>& pSample)

oder den der durch: CreateInputPin
generiert wird.

Das obige Beispiel nutzt den pReader von ProcessInput und nur bei GetLastSample kommt was an. GetNextSample liefert nie etwas.

Actions #4

Updated by hidden about 5 years ago

Hi Timo,

sieh dir mal die Signatur der Funktion an. Du hast die falsche ProcessInput erwischt. Wenn du selber über die Samples iterieren willst, nimm die ProcessInput(tNanoSeconds, ISampleReader*). Ansonsten nimm deine jetzige und verarbeite einfach pSample, dass Du schon als Parameter bekommst, dann kannst Du Dir die while Schleife sparen :-).

Grüße,

Martin

Actions #5

Updated by hidden about 5 years ago

Zur Info, die ProcessInput(ISampleReader*, iobject_ptr<const ISample>&) hat den ersten Parameter nur damit man erkennen von welchem Input das Sample kam. Da wird eben immer GetNextSample aufgerufen und dann an die Funktion weitergegeben, daher hat der Reader dann nicht noch ein Sample übrig.

Actions #6

Updated by hidden about 5 years ago

Ok, das erklärt das. Ihr könnt das Ticket schließen. Vielleicht sollte man das in der Doku mit aufnehmen aber ehrlich gesagt hätte ich mir das auch denken können.
Ihr könnt das Ticket schließen.

Actions #7

Updated by hidden about 5 years ago

  • Project changed from 20 to Public Support
  • Subject changed from GetNextSample funktioniert nicht mehr wie früher to GetNextSample does not return next sample and fails
  • Description updated (diff)
  • Status changed from In Progress to To Be Closed
  • Private changed from Yes to No
  • Resolution set to Product Issue Opened
  • Product Issue Numbers set to https://www.cip.audi.de/jira/browse/ACORE-9927

Hab ein Ticket zur Dokuerweiterung angelegt

Actions #8

Updated by hidden about 5 years ago

  • Status changed from To Be Closed to Closed
Actions

Also available in: Atom PDF