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