mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-01-15 22:53:47 +00:00
Linux build fix
This commit is contained in:
parent
c57d3af8dd
commit
9b0bcf0b54
@ -690,7 +690,12 @@ int cellAdecGetPcm(u32 handle, u32 outBuffer_addr)
|
|||||||
if (!Memory.IsGoodAddr(outBuffer_addr, af.size))
|
if (!Memory.IsGoodAddr(outBuffer_addr, af.size))
|
||||||
{
|
{
|
||||||
result = CELL_ADEC_ERROR_FATAL;
|
result = CELL_ADEC_ERROR_FATAL;
|
||||||
goto end;
|
if (af.data)
|
||||||
|
{
|
||||||
|
av_frame_unref(af.data);
|
||||||
|
av_frame_free(&af.data);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!af.data) // fake: empty data
|
if (!af.data) // fake: empty data
|
||||||
@ -699,13 +704,10 @@ int cellAdecGetPcm(u32 handle, u32 outBuffer_addr)
|
|||||||
memset(buf, 0, 4096);
|
memset(buf, 0, 4096);
|
||||||
Memory.CopyFromReal(outBuffer_addr, buf, 4096);
|
Memory.CopyFromReal(outBuffer_addr, buf, 4096);
|
||||||
free(buf);*/
|
free(buf);*/
|
||||||
goto end;
|
return result;
|
||||||
}
|
}
|
||||||
// copy data
|
// copy data
|
||||||
SwrContext* swr = nullptr;
|
SwrContext* swr = nullptr;
|
||||||
u8* out = nullptr;
|
|
||||||
|
|
||||||
out = (u8*)malloc(af.size);
|
|
||||||
|
|
||||||
/*swr = swr_alloc_set_opts(NULL, AV_CH_LAYOUT_STEREO, AV_SAMPLE_FMT_FLT, 48000,
|
/*swr = swr_alloc_set_opts(NULL, AV_CH_LAYOUT_STEREO, AV_SAMPLE_FMT_FLT, 48000,
|
||||||
frame->channel_layout, (AVSampleFormat)frame->format, frame->sample_rate, 0, NULL);
|
frame->channel_layout, (AVSampleFormat)frame->format, frame->sample_rate, 0, NULL);
|
||||||
@ -714,10 +716,17 @@ int cellAdecGetPcm(u32 handle, u32 outBuffer_addr)
|
|||||||
{
|
{
|
||||||
ConLog.Error("cellAdecGetPcm(%d): swr_alloc_set_opts() failed", handle);
|
ConLog.Error("cellAdecGetPcm(%d): swr_alloc_set_opts() failed", handle);
|
||||||
Emu.Pause();
|
Emu.Pause();
|
||||||
goto end;
|
free(out);
|
||||||
}
|
if (af.data)
|
||||||
|
{
|
||||||
|
av_frame_unref(af.data);
|
||||||
|
av_frame_free(&af.data);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}*/
|
||||||
|
u8* out = (u8*)malloc(af.size);
|
||||||
// something is wrong
|
// something is wrong
|
||||||
swr_convert(swr, &out, frame->nb_samples, (const u8**)frame->extended_data, frame->nb_samples); */
|
//swr_convert(swr, &out, frame->nb_samples, (const u8**)frame->extended_data, frame->nb_samples);
|
||||||
|
|
||||||
// reverse byte order, extract data:
|
// reverse byte order, extract data:
|
||||||
float* in_f[2];
|
float* in_f[2];
|
||||||
@ -736,8 +745,7 @@ int cellAdecGetPcm(u32 handle, u32 outBuffer_addr)
|
|||||||
Emu.Pause();
|
Emu.Pause();
|
||||||
}
|
}
|
||||||
|
|
||||||
end:
|
free(out);
|
||||||
if (out) free(out);
|
|
||||||
if (swr) swr_free(&swr);
|
if (swr) swr_free(&swr);
|
||||||
|
|
||||||
if (af.data)
|
if (af.data)
|
||||||
@ -815,4 +823,4 @@ void cellAdec_init()
|
|||||||
|
|
||||||
av_register_all();
|
av_register_all();
|
||||||
avcodec_register_all();
|
avcodec_register_all();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user