Skip to content
Extraits de code Groupes Projets
Valider cefc9c4f rédigé par Elliu's avatar Elliu
Parcourir les fichiers

COMPIL: fix libav deprecated warnings

parent e9d5a723
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -84,7 +84,7 @@ protected:
VIVY_LOG_CTOR() << "Codec: " << VIVY_LOG_QUOTED(codec->name) << ", id: " << codecId;
VIVY_LOG_CTOR() << "Sample rate: " << codecParams->sample_rate;
VIVY_LOG_CTOR() << "Bit rate: " << codecParams->bit_rate;
VIVY_LOG_CTOR() << "Channels: " << codecParams->channels;
VIVY_LOG_CTOR() << "Channels: " << codecParams->ch_layout.nb_channels;
}
public:
......
......@@ -31,9 +31,8 @@ AudioStream::AudioStream(const AVCodec *streamCodec, AVFormatContext *formatPtr,
: Super(streamCodec, formatPtr, streamArg, index)
{
SwrContext *s = dataSwrContext.get();
av_opt_set_int(s, "in_channel_count", codecContext->channels, 0);
av_opt_set_int(s, "in_channel_count", codecContext->ch_layout.nb_channels, 0);
av_opt_set_int(s, "out_channel_count", 1, 0);
av_opt_set_int(s, "in_channel_layout", static_cast<int64_t>(codecContext->channel_layout), 0);
av_opt_set_int(s, "out_channel_layout", AV_CH_LAYOUT_MONO, 0);
av_opt_set_int(s, "in_sample_rate", codecContext->sample_rate, 0);
av_opt_set_int(s, "out_sample_rate", resamplerSampleRate, 0);
......@@ -59,7 +58,7 @@ AudioStream::getProperties() const noexcept
QJsonObject ret = Super::getProperties();
ret.insert("Sample rate", codecParams->sample_rate);
ret.insert("Bit rate", static_cast<int>(codecParams->bit_rate));
ret.insert("Channels", codecParams->channels);
ret.insert("Channels", codecParams->ch_layout.nb_channels);
return ret;
}
......@@ -71,19 +70,18 @@ AudioStream::decodeData()
throw std::logic_error("audio stream is already resampled");
logDebug() << "Launch decoding of stream " << streamIndexInContext;
AVPacket packet;
av_init_packet(&packet);
AVPacket* packet = av_packet_alloc();;
// Iterate through frames
while (av_read_frame(dataFormat, &packet) >= 0) {
while (av_read_frame(dataFormat, packet) >= 0) {
// Only decode audio
if (packet.stream_index != streamIndexInContext) {
av_packet_unref(&packet);
if (packet->stream_index != streamIndexInContext) {
av_packet_unref(packet);
continue;
}
// Decode one frame
int response = avcodec_send_packet(codecContext.get(), &packet);
int response = avcodec_send_packet(codecContext.get(), packet);
if (response < 0) {
throw std::runtime_error(
QStringLiteral("error n°%1 while sending a packet to the decoder")
......@@ -135,7 +133,7 @@ AudioStream::decodeData()
}
dataDeleter(buffer);
av_packet_unref(&packet);
av_packet_unref(packet);
}
logDebug() << "Decoding data finished for stream " << streamIndexInContext << " with dataPtr "
......@@ -155,7 +153,7 @@ AudioStream::cleanUpData() noexcept
int
AudioStream::getChannels() const noexcept
{
return codecContext->channels;
return codecContext->ch_layout.nb_channels;
}
// Get the sample rate
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter