Skip to content

Commit d204be2

Browse files
author
Clement Champetier
committed
InputFile: refactoring
* Use reference instead of pointer for getStream. * Use reference instead of pointer for getFormatContext.
1 parent 33ef457 commit d204be2

File tree

7 files changed

+28
-28
lines changed

7 files changed

+28
-28
lines changed

app/audioRewrapper/audioRewrapper.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ void rewrapAudio( const char* inputfilename, const char* outputFilename )
2121

2222
outputFile.setup();
2323

24-
outputFile.addAudioStream( inputFile.getStream( 0 )->getAudioDesc() );
24+
outputFile.addAudioStream( inputFile.getStream( 0 ).getAudioDesc() );
2525

2626
DataStream data;
2727

@@ -30,7 +30,7 @@ void rewrapAudio( const char* inputfilename, const char* outputFilename )
3030

3131
size_t frame = 0;
3232

33-
while( inputFile.getStream( 0 )->readNextPacket( data ) )
33+
while( inputFile.getStream( 0 ).readNextPacket( data ) )
3434
{
3535
std::cout << "\rprocess frame " << (int)frame - 1 << std::flush;
3636

@@ -58,7 +58,7 @@ void transcodeAudio( const char* inputfilename, const char* outputFilename )
5858

5959
outputFile.setup();
6060

61-
outputFile.addAudioStream( inputFile.getStream( 0 )->getAudioDesc() );
61+
outputFile.addAudioStream( inputFile.getStream( 0 ).getAudioDesc() );
6262

6363
DataStream data;
6464

app/avTranscoder/avTranscoder.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ void transcodeVideo( const char* inputfilename, const char* outputFilename )
9191
exit( -1 );
9292
}
9393

94-
of.addVideoStream( inputFile.getStream( 0 )->getVideoDesc() );
94+
of.addVideoStream( inputFile.getStream( 0 ).getVideoDesc() );
9595
/*of.addAudioStream();
9696
of.addAudioStream();
9797
of.addAudioStream();

app/avplay/AvReader.hpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
class AvReader : public Reader
1717
{
1818
public:
19-
AvReader( std::string filename )
19+
AvReader( const std::string& filename )
2020
: m_inputFile( filename )
2121
, m_inputStreamVideo( NULL )
2222
, m_sourceImage( NULL )
@@ -29,7 +29,7 @@ class AvReader : public Reader
2929

3030
m_inputStreamVideo = new avtranscoder::InputStreamVideo( m_inputFile.getStream( m_videoStream ) );
3131

32-
m_sourceImage = new avtranscoder::Image( m_inputFile.getStream( m_videoStream )->getVideoDesc().getImageDesc() );
32+
m_sourceImage = new avtranscoder::Image( m_inputFile.getStream( m_videoStream ).getVideoDesc().getImageDesc() );
3333

3434
pixel.setBitsPerPixel( getComponents() * getBitDepth() );
3535
pixel.setComponents( getComponents() );
@@ -38,11 +38,11 @@ class AvReader : public Reader
3838
pixel.setAlpha( false );
3939
pixel.setPlanar( false );
4040

41-
imageDescToDisplay.setWidth ( m_sourceImage->desc().getWidth() );
41+
imageDescToDisplay.setWidth( m_sourceImage->desc().getWidth() );
4242
imageDescToDisplay.setHeight( m_sourceImage->desc().getHeight() );
43-
imageDescToDisplay.setDar ( m_sourceImage->desc().getDar() );
44-
45-
imageDescToDisplay.setPixel ( pixel.findPixel() );
43+
imageDescToDisplay.setDar( m_sourceImage->desc().getDar() );
44+
45+
imageDescToDisplay.setPixel( pixel.findPixel() );
4646

4747
m_imageToDisplay = new avtranscoder::Image( imageDescToDisplay );
4848
}
@@ -105,6 +105,7 @@ class AvReader : public Reader
105105

106106
private:
107107
avtranscoder::InputFile m_inputFile;
108+
108109
avtranscoder::InputStreamVideo* m_inputStreamVideo;
109110

110111
avtranscoder::Image* m_sourceImage;
@@ -117,4 +118,4 @@ class AvReader : public Reader
117118
size_t m_videoStream;
118119
};
119120

120-
#endif
121+
#endif

src/AvTranscoder/AvInputStream.cpp

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -86,15 +86,14 @@ void AvInputStream::addPacket( AVPacket& packet )
8686

8787
VideoDesc AvInputStream::getVideoDesc() const
8888
{
89-
assert( m_inputFile->getFormatContext() != NULL );
90-
assert( m_streamIndex <= m_inputFile->getFormatContext()->nb_streams );
89+
assert( m_streamIndex <= m_inputFile->getFormatContext().nb_streams );
9190

92-
if( m_inputFile->getFormatContext()->streams[m_streamIndex]->codec->codec_type != AVMEDIA_TYPE_VIDEO )
91+
if( m_inputFile->getFormatContext().streams[m_streamIndex]->codec->codec_type != AVMEDIA_TYPE_VIDEO )
9392
{
9493
throw std::runtime_error( "unable to get video descriptor on non-video stream" );
9594
}
9695

97-
AVCodecContext* codecContext = m_inputFile->getFormatContext()->streams[m_streamIndex]->codec;
96+
AVCodecContext* codecContext = m_inputFile->getFormatContext().streams[m_streamIndex]->codec;
9897

9998
VideoDesc desc( codecContext->codec_id );
10099

@@ -106,15 +105,14 @@ VideoDesc AvInputStream::getVideoDesc() const
106105

107106
AudioDesc AvInputStream::getAudioDesc() const
108107
{
109-
assert( m_inputFile->getFormatContext() != NULL );
110-
assert( m_streamIndex <= m_inputFile->getFormatContext()->nb_streams );
108+
assert( m_streamIndex <= m_inputFile->getFormatContext().nb_streams );
111109

112-
if( m_inputFile->getFormatContext()->streams[m_streamIndex]->codec->codec_type != AVMEDIA_TYPE_AUDIO )
110+
if( m_inputFile->getFormatContext().streams[m_streamIndex]->codec->codec_type != AVMEDIA_TYPE_AUDIO )
113111
{
114112
throw std::runtime_error( "unable to get audio descriptor on non-audio stream" );
115113
}
116114

117-
AVCodecContext* codecContext = m_inputFile->getFormatContext()->streams[m_streamIndex]->codec;
115+
AVCodecContext* codecContext = m_inputFile->getFormatContext().streams[m_streamIndex]->codec;
118116

119117
AudioDesc desc( codecContext->codec_id );
120118

@@ -126,17 +124,17 @@ AudioDesc AvInputStream::getAudioDesc() const
126124

127125
double AvInputStream::getDuration() const
128126
{
129-
return 1.0 * m_inputFile->getFormatContext()->duration / AV_TIME_BASE;
127+
return 1.0 * m_inputFile->getFormatContext().duration / AV_TIME_BASE;
130128
}
131129

132130
double AvInputStream::getPacketDuration() const
133131
{
134-
return m_packetDuration * av_q2d( m_inputFile->getFormatContext()->streams[m_streamIndex]->time_base );
132+
return m_packetDuration * av_q2d( m_inputFile->getFormatContext().streams[m_streamIndex]->time_base );
135133
}
136134

137135
void AvInputStream::clearBuffering()
138136
{
139137
m_streamCache.clear();
140138
}
141139

142-
}
140+
}

src/AvTranscoder/InputFile.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,9 @@ AVMediaType InputFile::getStreamType( size_t index )
139139
return m_formatContext->streams[index]->codec->codec_type;
140140
}
141141

142-
AvInputStream* InputFile::getStream( size_t index )
142+
AvInputStream& InputFile::getStream( size_t index )
143143
{
144-
return m_inputStreams.at( index );
144+
return *m_inputStreams.at( index );
145145
}
146146

147147
bool InputFile::readNextPacket( const size_t streamIndex )

src/AvTranscoder/InputFile.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,15 @@ class AvExport InputFile
3838

3939
AVMediaType getStreamType( size_t index );
4040

41-
::avtranscoder::AvInputStream* getStream( size_t index );
41+
AvInputStream& getStream( size_t index );
4242

43-
AVFormatContext* getFormatContext() const { return m_formatContext; }
43+
AVFormatContext& getFormatContext() const { return *m_formatContext; }
4444

4545
bool readNextPacket( const size_t streamIndex );
4646

4747
void seekAtFrame( const size_t frame );
4848

49+
/// @brief Indicate that the stream should be bufferized
4950
void readStream( const size_t streamIndex, const bool readStream = true );
5051

5152
protected:

src/AvTranscoder/Transcoder.tcc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,13 @@ void Transcoder::add( const std::string& filename, const size_t streamIndex )
6666
{
6767
case AVMEDIA_TYPE_VIDEO:
6868
{
69-
_inputStreams.push_back( referenceFile->getStream( streamIndex ) );
69+
_inputStreams.push_back( & referenceFile->getStream( streamIndex ) );
7070
_outputFile.addVideoStream( _inputStreams.back()->getVideoDesc() );
7171
break;
7272
}
7373
case AVMEDIA_TYPE_AUDIO:
7474
{
75-
_inputStreams.push_back( referenceFile->getStream( streamIndex ) );
75+
_inputStreams.push_back( & referenceFile->getStream( streamIndex ) );
7676
_outputFile.addAudioStream( _inputStreams.back()->getAudioDesc() );
7777
break;
7878
}

0 commit comments

Comments
 (0)