Skip to content

Commit d106e67

Browse files
author
Clement Champetier
committed
StreamTranscoder: fix desctructor when dummy stream
* Need to know if it is a dummy stream or something else when destruct StreamTranscoder: * _inputEssence references to a Dummy created in Transcoder if dummy: not delete it in StreamTranscoder! * new _inputEssence in StreamTranscoder if not dummy: delete it in StreamTranscoder!
1 parent 6a34ee2 commit d106e67

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/AvTranscoder/Transcoder/StreamTranscoder.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ StreamTranscoder::StreamTranscoder(
2626
, _outputEssence( NULL )
2727
, _transform( NULL )
2828
, _transcodeStream( false )
29+
, _dummyStream( false )
2930
{
3031
// create a re-wrapping case
3132
switch( _inputStream->getStreamType() )
@@ -58,6 +59,7 @@ StreamTranscoder::StreamTranscoder(
5859
, _outputEssence( NULL )
5960
, _transform( NULL )
6061
, _transcodeStream( true )
62+
, _dummyStream( false )
6163
{
6264
// create a transcode case
6365
switch( _inputStream->getStreamType() )
@@ -121,7 +123,9 @@ StreamTranscoder::StreamTranscoder(
121123
, _outputEssence( NULL )
122124
, _transform( NULL )
123125
, _transcodeStream( true )
126+
, _dummyStream( true )
124127
{
128+
// create a dummy case
125129
if( ! profile.count( Profile::avProfileType ) )
126130
throw std::runtime_error( "unable to found stream type (audio, video, etc.)" );
127131

@@ -168,7 +172,7 @@ StreamTranscoder::~StreamTranscoder()
168172
{
169173
if( _frameBuffer )
170174
delete _frameBuffer;
171-
if( _inputEssence )
175+
if( _inputEssence && ! _dummyStream )
172176
delete _inputEssence;
173177
if( _outputEssence )
174178
delete _outputEssence;

src/AvTranscoder/Transcoder/StreamTranscoder.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,7 @@ class StreamTranscoder
6363
EssenceTransform* _transform;
6464

6565
bool _transcodeStream;
66-
67-
66+
bool _dummyStream;
6867
};
6968

7069
}

0 commit comments

Comments
 (0)