Skip to content

Commit 2abc652

Browse files
author
Clement Champetier
committed
AvInputVideo / AvInputAudio: remove private attribute codec
Already in AvInputStream.
1 parent 977a295 commit 2abc652

File tree

4 files changed

+21
-24
lines changed

4 files changed

+21
-24
lines changed

src/AvTranscoder/essenceStream/AvInputAudio.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
#include "AvInputAudio.hpp"
22

3+
#include <AvTranscoder/codec/ICodec.hpp>
4+
#include <AvTranscoder/codedStream/AvInputStream.hpp>
5+
#include <AvTranscoder/frame/AudioFrame.hpp>
6+
37
extern "C" {
48
#include <libavcodec/avcodec.h>
59
#include <libavformat/avformat.h>
@@ -8,9 +12,6 @@ extern "C" {
812
#include <libavutil/channel_layout.h>
913
}
1014

11-
#include <AvTranscoder/codedStream/AvInputStream.hpp>
12-
#include <AvTranscoder/frame/AudioFrame.hpp>
13-
1415
#include <iostream>
1516
#include <stdexcept>
1617

@@ -20,7 +21,6 @@ namespace avtranscoder
2021
AvInputAudio::AvInputAudio( AvInputStream& inputStream )
2122
: IInputEssence()
2223
, _inputStream ( &inputStream )
23-
, _codec( &inputStream.getAudioCodec() )
2424
, _frame ( NULL )
2525
{
2626
}
@@ -45,8 +45,8 @@ AvInputAudio::~AvInputAudio()
4545

4646
void AvInputAudio::setup()
4747
{
48-
AVCodecContext* avCodecContext = _codec->getAVCodecContext();
49-
AVCodec* avCodec = _codec->getAVCodec();
48+
AVCodecContext* avCodecContext = _inputStream->getAudioCodec().getAVCodecContext();
49+
AVCodec* avCodec = _inputStream->getAudioCodec().getAVCodec();
5050

5151
avCodecContext->channels = _inputStream->getAudioCodec().getAudioFrameDesc().getChannels();
5252

@@ -84,7 +84,7 @@ bool AvInputAudio::decodeNextFrame( Frame& frameBuffer )
8484
if( ! decodeNextFrame() )
8585
return false;
8686

87-
AVCodecContext* avCodecContext = _codec->getAVCodecContext();
87+
AVCodecContext* avCodecContext = _inputStream->getAudioCodec().getAVCodecContext();
8888

8989
size_t decodedSize = av_samples_get_buffer_size( NULL, avCodecContext->channels, _frame->nb_samples, avCodecContext->sample_fmt, 1 );
9090

@@ -114,9 +114,9 @@ bool AvInputAudio::decodeNextFrame( Frame& frameBuffer, const size_t subStreamIn
114114

115115
const int output_nbChannels = 1;
116116
const int output_align = 1;
117-
size_t decodedSize = av_samples_get_buffer_size(NULL, output_nbChannels, _frame->nb_samples, _codec->getAVCodecContext()->sample_fmt, output_align);
117+
size_t decodedSize = av_samples_get_buffer_size(NULL, output_nbChannels, _frame->nb_samples, _inputStream->getAudioCodec().getAVCodecContext()->sample_fmt, output_align);
118118

119-
size_t nbSubStreams = _codec->getAVCodecContext()->channels;
119+
size_t nbSubStreams = _inputStream->getAudioCodec().getAVCodecContext()->channels;
120120
size_t bytePerSample = av_get_bytes_per_sample( (AVSampleFormat)_frame->format );
121121

122122
if( subStreamIndex > nbSubStreams - 1 )
@@ -165,7 +165,7 @@ bool AvInputAudio::decodeNextFrame()
165165
packet.data = nextPacketRead ? data.getPtr(): NULL;
166166
packet.size = data.getSize();
167167

168-
int ret = avcodec_decode_audio4( _codec->getAVCodecContext(), _frame, &got_frame, &packet );
168+
int ret = avcodec_decode_audio4( _inputStream->getAudioCodec().getAVCodecContext(), _frame, &got_frame, &packet );
169169
av_free_packet( &packet );
170170

171171
if( ! nextPacketRead && ret == 0 && got_frame == 0 ) // error or end of file

src/AvTranscoder/essenceStream/AvInputAudio.hpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
#define _AV_TRANSCODER_ESSENCE_STREAM_AV_INPUT_AUDIO_HPP_
33

44
#include "IInputEssence.hpp"
5-
#include <AvTranscoder/codec/AudioCodec.hpp>
65

76
struct AVFrame;
87

@@ -25,9 +24,9 @@ class AvExport AvInputAudio : public IInputEssence
2524
private:
2625
bool decodeNextFrame();
2726

28-
AvInputStream* _inputStream; ///< Stream from which we read next frames
29-
const AudioCodec* _codec; ///< Audio decoder. Has link (no ownership)
30-
AVFrame* _frame; ///< Libav object to store decoded data
27+
private:
28+
AvInputStream* _inputStream; ///< Stream from which we read next frames (no ownership, has link)
29+
AVFrame* _frame; ///< Libav object to store decoded data (has ownership)
3130
};
3231

3332
}

src/AvTranscoder/essenceStream/AvInputVideo.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include "AvInputVideo.hpp"
22

3+
#include <AvTranscoder/codec/ICodec.hpp>
34
#include <AvTranscoder/option/Context.hpp>
45
#include <AvTranscoder/codedStream/AvInputStream.hpp>
56
#include <AvTranscoder/frame/VideoFrame.hpp>
@@ -20,7 +21,6 @@ namespace avtranscoder
2021
AvInputVideo::AvInputVideo( AvInputStream& inputStream )
2122
: IInputEssence()
2223
, _inputStream ( &inputStream )
23-
, _codec( &inputStream.getVideoCodec() )
2424
, _frame ( NULL )
2525
, _verbose( false )
2626
{
@@ -45,8 +45,8 @@ AvInputVideo::~AvInputVideo()
4545

4646
void AvInputVideo::setup()
4747
{
48-
AVCodecContext* avCodecContext = _codec->getAVCodecContext();
49-
AVCodec* avCodec = _codec->getAVCodec();
48+
AVCodecContext* avCodecContext = _inputStream->getVideoCodec().getAVCodecContext();
49+
AVCodec* avCodec = _inputStream->getVideoCodec().getAVCodec();
5050

5151
// if( avCodec->capabilities & CODEC_CAP_TRUNCATED )
5252
// avCodecContext->flags |= CODEC_FLAG_TRUNCATED;
@@ -116,7 +116,7 @@ bool AvInputVideo::decodeNextFrame()
116116
packet.data = nextPacketRead ? data.getPtr(): NULL;
117117
packet.size = data.getSize();
118118

119-
int ret = avcodec_decode_video2( _codec->getAVCodecContext(), _frame, &got_frame, &packet );
119+
int ret = avcodec_decode_video2( _inputStream->getVideoCodec().getAVCodecContext(), _frame, &got_frame, &packet );
120120
av_free_packet( &packet );
121121

122122
if( ! nextPacketRead && ret == 0 && got_frame == 0 ) // error or end of file
@@ -134,12 +134,12 @@ bool AvInputVideo::decodeNextFrame()
134134

135135
void AvInputVideo::flushDecoder()
136136
{
137-
avcodec_flush_buffers( _codec->getAVCodecContext() );
137+
avcodec_flush_buffers( _inputStream->getVideoCodec().getAVCodecContext() );
138138
}
139139

140140
void AvInputVideo::setProfile( const ProfileLoader::Profile& profile )
141141
{
142-
Context codecContext( _codec->getAVCodecContext(), AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_VIDEO_PARAM );
142+
Context codecContext( _inputStream->getVideoCodec().getAVCodecContext(), AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_VIDEO_PARAM );
143143

144144
for( ProfileLoader::Profile::const_iterator it = profile.begin(); it != profile.end(); ++it )
145145
{

src/AvTranscoder/essenceStream/AvInputVideo.hpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
#define _AV_TRANSCODER_ESSENCE_STREAM_AV_INPUT_VIDEO_HPP_
33

44
#include "IInputEssence.hpp"
5-
#include <AvTranscoder/codec/VideoCodec.hpp>
65
#include <AvTranscoder/ProfileLoader.hpp>
76

87
struct AVFrame;
@@ -32,9 +31,8 @@ class AvExport AvInputVideo : public IInputEssence
3231
bool decodeNextFrame();
3332

3433
private:
35-
AvInputStream* _inputStream; ///< Stream from which we read next frames
36-
const VideoCodec* _codec; ///< Video decoder. Has link (no ownership)
37-
AVFrame* _frame; ///< Libav object to store decoded data
34+
AvInputStream* _inputStream; ///< Stream from which we read next frames (no ownership, has link)
35+
AVFrame* _frame; ///< Libav object to store decoded data (has ownership)
3836

3937
bool _verbose;
4038
};

0 commit comments

Comments
 (0)