dvdplayer: fix missing GetBufferSize() for AE passthrough codec
authorJoakim Plate <elupus@xbmc.org>
Mon, 17 Sep 2012 18:27:10 +0000 (20:27 +0200)
committerJoakim Plate <elupus@xbmc.org>
Mon, 17 Sep 2012 19:13:47 +0000 (21:13 +0200)
This caused player to be unable to calculate what demux packet timestamp
belong to what decoded audio frame. It only caused an issue when passthrough
audio frames where split over multiple packets.

xbmc/cores/AudioEngine/Utils/AEStreamInfo.h
xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthrough.cpp
xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthrough.h

index b34e528..c4c06c1 100644 (file)
@@ -64,6 +64,7 @@ public:
   enum DataType             GetDataType      () { return m_dataType      ; }
   bool                      IsLittleEndian   () { return m_dataIsLE      ; }
   CAEPackIEC61937::PackFunc GetPackFunc      () { return m_packFunc      ; }
+  unsigned int              GetBufferSize    () { return m_bufferSize    ; }
 private:
   DllAvUtil m_dllAvUtil;
 
index 2838a4b..b23ef60 100644 (file)
@@ -170,3 +170,7 @@ void CDVDAudioCodecPassthrough::Reset()
 {
 }
 
+int CDVDAudioCodecPassthrough::GetBufferSize()
+{
+  return (int)m_info.GetBufferSize();
+}
index d832d21..257d265 100644 (file)
@@ -47,6 +47,7 @@ public:
   virtual enum AEDataFormat GetDataFormat();
   virtual bool NeedPassthrough           () { return true;          }
   virtual const char* GetName            () { return "passthrough"; }
+  virtual int  GetBufferSize();
 private:
   CAEStreamInfo      m_info;
   CAEBitstreamPacker m_packer;