Skip to content

Commit

Permalink
Fix avs+ audio output
Browse files Browse the repository at this point in the history
  • Loading branch information
myrsloik committed Mar 27, 2024
1 parent c84261d commit 4bf09b3
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
6 changes: 3 additions & 3 deletions src/audiosource.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -846,7 +846,7 @@ BestAudioSource::FrameRange BestAudioSource::GetFrameRangeBySamples(int64_t Star
return Result;
}

void BestAudioSource::ZeroFillStartPacked(uint8_t *Data, int64_t &Start, int64_t &Count) {
void BestAudioSource::ZeroFillStartPacked(uint8_t *&Data, int64_t &Start, int64_t &Count) {
if (Start < 0) {
int64_t Length = std::min(Count, -Start);
size_t ByteLength = Length * AP.BytesPerSample * AP.Channels;
Expand All @@ -866,7 +866,7 @@ void BestAudioSource::ZeroFillEndPacked(uint8_t *Data, int64_t Start, int64_t &C
}
}

static void PackChannels(const uint8_t **Src, uint8_t *Dst, size_t Length, size_t Channels, size_t BytesPerSample) {
static void PackChannels(const uint8_t **Src, uint8_t *&Dst, size_t Length, size_t Channels, size_t BytesPerSample) {
for (size_t i = 0; i < Length; i++) {
for (size_t c = 0; c < Channels; c++) {
memcpy(Dst, Src[c], BytesPerSample);
Expand All @@ -876,7 +876,7 @@ static void PackChannels(const uint8_t **Src, uint8_t *Dst, size_t Length, size_
}
}

bool BestAudioSource::FillInFramePacked(const BestAudioFrame *Frame, int64_t FrameStartSample, uint8_t *Data, int64_t &Start, int64_t &Count) {
bool BestAudioSource::FillInFramePacked(const BestAudioFrame *Frame, int64_t FrameStartSample, uint8_t *&Data, int64_t &Start, int64_t &Count) {
const AVFrame *F = Frame->GetAVFrame();
bool IsPlanar = av_sample_fmt_is_planar(static_cast<AVSampleFormat>(F->format));
if ((Start >= FrameStartSample) && (Start < FrameStartSample + Frame->NumSamples)) {
Expand Down
4 changes: 2 additions & 2 deletions src/audiosource.h
Original file line number Diff line number Diff line change
Expand Up @@ -168,9 +168,9 @@ class BestAudioSource {
[[nodiscard]] BestAudioFrame *GetFrameLinearInternal(int64_t N, int64_t SeekFrame = -1, size_t Depth = 0, bool ForceUnseeked = false);
[[nodiscard]] bool IndexTrack(const std::function<void(int Track, int64_t Current, int64_t Total)> &Progress = nullptr);
bool InitializeRFF();
void ZeroFillStartPacked(uint8_t *Data, int64_t &Start, int64_t &Count);
void ZeroFillStartPacked(uint8_t *&Data, int64_t &Start, int64_t &Count);
void ZeroFillEndPacked(uint8_t *Data, int64_t Start, int64_t &Count);
bool FillInFramePacked(const BestAudioFrame *Frame, int64_t FrameStartSample, uint8_t *Data, int64_t &Start, int64_t &Count);
bool FillInFramePacked(const BestAudioFrame *Frame, int64_t FrameStartSample, uint8_t *&Data, int64_t &Start, int64_t &Count);
void ZeroFillStartPlanar(uint8_t *Data[], int64_t &Start, int64_t &Count);
void ZeroFillEndPlanar(uint8_t *Data[], int64_t Start, int64_t &Count);
bool FillInFramePlanar(const BestAudioFrame *Frame, int64_t FrameStartSample, uint8_t *Data[], int64_t &Start, int64_t &Count);
Expand Down

0 comments on commit 4bf09b3

Please sign in to comment.