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

Also available in: Atom PDF