Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commiteaf480e

Browse files
author
Clement Champetier
committed
Manage duration as a float
Double type is not constructed the same way in C++ and Java, and doesnot exist in python. Our bindings of 'C++ double' could create issues,and since a fps with a simple precision is enough, we decided to returnfps as float.
1 parentc619856 commiteaf480e

17 files changed

+33
-36
lines changed

‎src/AvTranscoder/mediaProperty/FileProperties.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ double FileProperties::getStartTime() const
157157
return1.0 * (unsignedint)_avFormatContext->start_time / AV_TIME_BASE;
158158
}
159159

160-
doubleFileProperties::getDuration()const
160+
floatFileProperties::getDuration()const
161161
{
162162
if( ! _avFormatContext )
163163
throwstd::runtime_error("unknown format context" );

‎src/AvTranscoder/mediaProperty/FileProperties.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class AvExport FileProperties
4444

4545
size_tgetProgramsCount()const;
4646
doublegetStartTime()const;
47-
doublegetDuration()const;///< in seconds
47+
floatgetDuration()const;///< in seconds
4848
size_tgetBitRate()const;///< total stream bitrate in bit/s, 0 if not available (result of a computation by ffmpeg)
4949
size_tgetPacketSize()const;
5050

‎src/AvTranscoder/mediaProperty/StreamProperties.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,10 @@ Rational StreamProperties::getTimeBase() const
3737
return timeBase;
3838
}
3939

40-
doubleStreamProperties::getDuration()const
40+
floatStreamProperties::getDuration()const
4141
{
4242
Rational timeBase =getTimeBase();
43-
double duration = ( timeBase.num / (double) timeBase.den ) * _formatContext->streams[_streamIndex]->duration;
44-
return duration;
43+
return ( timeBase.num / (float) timeBase.den ) * _formatContext->streams[_streamIndex]->duration;
4544
}
4645

4746
PropertyVectorStreamProperties::getPropertiesAsVector()const

‎src/AvTranscoder/mediaProperty/StreamProperties.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class AvExport StreamProperties
1818
size_tgetStreamIndex()const {return _streamIndex; }
1919
size_tgetStreamId()const;
2020
RationalgetTimeBase()const;
21-
doublegetDuration()const;///< in seconds
21+
floatgetDuration()const;///< in seconds
2222
const PropertyVector&getMetadatas()const {return _metadatas; }
2323

2424
#ifndef SWIG

‎src/AvTranscoder/mediaProperty/VideoProperties.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -523,8 +523,8 @@ float VideoProperties::getFps() const
523523
constsize_t nbFrames =getNbFrames();
524524
if( nbFrames )
525525
{
526-
double duration =getDuration();
527-
doubleepsilon = std::numeric_limits<double>::epsilon();
526+
constfloat duration =getDuration();
527+
constfloatepsilon = std::numeric_limits<float>::epsilon();
528528
if( duration > epsilon )
529529
return nbFrames / duration;
530530
}

‎src/AvTranscoder/stat/AudioStat.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ namespace avtranscoder
1212
classAvExport AudioStat
1313
{
1414
public:
15-
AudioStat(constdouble duration,constsize_t nbPackets )
15+
AudioStat(constfloat duration,constsize_t nbPackets )
1616
: _duration( duration )
1717
, _nbPackets( nbPackets )
1818
{}
1919

2020
public:
21-
double _duration;
21+
float _duration;
2222
size_t _nbPackets;
2323
};
2424

‎src/AvTranscoder/stat/VideoStat.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace avtranscoder
1212
classAvExport VideoStat
1313
{
1414
public:
15-
VideoStat(constdouble duration,constsize_t nbFrames )
15+
VideoStat(constfloat duration,constsize_t nbFrames )
1616
: _duration( duration )
1717
, _nbFrames( nbFrames )
1818
, _quality(0 )
@@ -23,7 +23,7 @@ class AvExport VideoStat
2323
staticdoublepsnr(constdouble d );
2424

2525
public:
26-
double _duration;
26+
float _duration;
2727
size_t _nbFrames;
2828
size_t _quality;///< Between 1 (good) and FF_LAMBDA_MAX (bad). 0 if unknown.
2929
double _psnr;///< 0 if unknown.

‎src/AvTranscoder/stream/IInputStream.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class AvExport IInputStream
2222
virtualboolreadNextPacket( CodedData& data ) = 0;
2323

2424
virtualsize_tgetStreamIndex()const = 0;
25-
virtualdoublegetDuration()const = 0;
25+
virtualfloatgetDuration()const = 0;
2626
virtual AVMediaTypegetStreamType()const = 0;
2727

2828
//@{

‎src/AvTranscoder/stream/IOutputStream.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class AvExport IOutputStream
2525
virtual~IOutputStream() {};
2626

2727
virtualsize_tgetStreamIndex()const = 0;
28-
virtualdoublegetStreamDuration()const = 0;
28+
virtualfloatgetStreamDuration()const = 0;
2929
virtualsize_tgetNbFrames()const = 0;
3030

3131
virtual EWrappingStatuswrap(const CodedData& data ) = 0;

‎src/AvTranscoder/stream/InputStream.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ AVMediaType InputStream::getStreamType() const
111111
return _inputFile->getFormatContext().getAVStream( _streamIndex ).codec->codec_type;
112112
}
113113

114-
doubleInputStream::getDuration()const
114+
floatInputStream::getDuration()const
115115
{
116116
return _inputFile->getProperties().getStreamPropertiesWithIndex( _streamIndex ).getDuration();
117117
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp