Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Unterstützung für basswasapi benötigt (https://www.delphipraxis.net/175724-unterstuetzung-fuer-basswasapi-benoetigt.html)

EWeiss 12. Jul 2013 01:24

Unterstützung für basswasapi benötigt
 
Hat sich schon mal jemand intensiver mit der basswasapi beschäfigt?
Vielleicht kann er mir dann ein paar tips geben.

Mediaportal erstellt eine streamcopy aus einer kombination von bassmix und basswasapi mit diversen Flags
Anschließend wird das Handle der Streamcopy zu meinem wrapper geschickt.

Solange wie es sich noch um einen _mixer.stream handelt komme ich mit BASS_ChannelGetData zurecht
die visualisierung und auch das Hörerlebnis bleiben im erträglichen(normalen) rahmen.

Wenn dort aber Wasapi verwendet wird und mein wrapper zur visualisierung zugeschaltet,
beschleunigt der stream um ein vielfaches (Mickymaus sprache) es wird zwar visualisiert aber
der Ton ist einfach fruchtbar.

Delphi-Quellcode:
if Basswasapi_Loaded and UseWasapi then
  Data := BASS_WASAPI_GetData(@WaveformData32, 1152 * FChannels*2)
else
Data := BASS_Mixer_ChannelGetData(FChannelId, @WaveformData32, 1152 * FChannels*2);

if Data = DW_ERROR then
  BASS_ChannelGetData(FChannelId, @WaveformData32, 1152 * FChannels*2);
Ich prüfe ob das Flag UseWasapi gesetzt ist wenn ja gehe ich über BASS_WASAPI_GetData
andernfalls über BASS_Mixer_ChannelGetData
erzeugt einer dieser beiden den DW_ERROR gehe ich über BASS_ChannelGetData

Die abfrage der Daten bis auf BASS_ChannelGetData schlägt kontinuierlich fehl.
Wobei hier BASS_ChannelGetData dann den stream extrem beschleunigt wenn UseWasapi aktiviert ist.

Ich komme leider nicht dahinter warum? (bei den englischen kram im un4seen forum versteht man nur die hälfte)
Was muss ich tun um den Ton Syncron zu halten.
Oder ist das ein problem innerhalb Mediaportal?

gruss

EWeiss 13. Jul 2013 02:18

AW: Unterstützung für basswasapi benötigt
 
Dann beantworte ich das mal selber..
BASS_WASAPI_BUFFER Flag hat gefehlt das war's dann schon
abgesehen von der Arbeit meine LIB umzustricken und stundenlanges Debuggen durch millionen von zeilen.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz