aboutsummaryrefslogtreecommitdiffstats
path: root/unicode/src/media/UAudioDecoder_FFmpeg.pas
diff options
context:
space:
mode:
Diffstat (limited to 'unicode/src/media/UAudioDecoder_FFmpeg.pas')
-rw-r--r--unicode/src/media/UAudioDecoder_FFmpeg.pas11
1 files changed, 5 insertions, 6 deletions
diff --git a/unicode/src/media/UAudioDecoder_FFmpeg.pas b/unicode/src/media/UAudioDecoder_FFmpeg.pas
index 97d8a8df..2d221f40 100644
--- a/unicode/src/media/UAudioDecoder_FFmpeg.pas
+++ b/unicode/src/media/UAudioDecoder_FFmpeg.pas
@@ -378,14 +378,14 @@ begin
// try standard format
SampleFormat := asfS16;
end;
- if CodecCtx^.channels > 255 then
- Log.LogStatus('Error: CodecCtx^.channels > 255', 'TFFmpegDecodeStream.Open');
+
FormatInfo := TAudioFormatInfo.Create(
- byte(CodecCtx^.channels),
+ CodecCtx^.channels,
CodecCtx^.sample_rate,
SampleFormat
);
+
PacketQueue := TPacketQueue.Create();
// finally start the decode thread
@@ -446,9 +446,7 @@ end;
function TFFmpegDecodeStream.GetLength(): real;
begin
- // do not forget to consider the start_time value here
- // there is a type size mismatch warnign because start_time and duration are cint64.
- // So, in principle there could be an overflow when doing the sum.
+ // do not forget to consider the start_time value here
Result := (FormatCtx^.start_time + FormatCtx^.duration) / AV_TIME_BASE;
end;
@@ -645,6 +643,7 @@ end;
function TFFmpegDecodeStream.ParseLoop(): boolean;
var
Packet: TAVPacket;
+ StatusPacket: PAVPacket;
SeekTarget: int64;
ByteIOCtx: PByteIOContext;
ErrorCode: integer;