LCOV - code coverage report
Current view: top level - dom/media/gmp/widevine-adapter - WidevineFileIO.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 51 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 8 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : #include "WidevineFileIO.h"
       2             : #include "WidevineUtils.h"
       3             : #include "WidevineAdapter.h"
       4             : 
       5             : using namespace cdm;
       6             : 
       7             : namespace mozilla {
       8             : 
       9             : void
      10           0 : WidevineFileIO::Open(const char* aFilename, uint32_t aFilenameLength)
      11             : {
      12           0 :   mName = std::string(aFilename, aFilename + aFilenameLength);
      13           0 :   GMPRecord* record = nullptr;
      14           0 :   GMPErr err = GMPCreateRecord(aFilename, aFilenameLength, &record, static_cast<GMPRecordClient*>(this));
      15           0 :   if (GMP_FAILED(err)) {
      16           0 :     CDM_LOG("WidevineFileIO::Open() '%s' GMPCreateRecord failed", mName.c_str());
      17           0 :     mClient->OnOpenComplete(FileIOClient::kError);
      18           0 :     return;
      19             :   }
      20           0 :   if (GMP_FAILED(record->Open())) {
      21           0 :     CDM_LOG("WidevineFileIO::Open() '%s' record open failed", mName.c_str());
      22           0 :     mClient->OnOpenComplete(FileIOClient::kError);
      23           0 :     return;
      24             :   }
      25             : 
      26           0 :   CDM_LOG("WidevineFileIO::Open() '%s'", mName.c_str());
      27           0 :   mRecord = record;
      28             : }
      29             : 
      30             : void
      31           0 : WidevineFileIO::Read()
      32             : {
      33           0 :   if (!mRecord) {
      34           0 :     CDM_LOG("WidevineFileIO::Read() '%s' used uninitialized!", mName.c_str());
      35           0 :     mClient->OnReadComplete(FileIOClient::kError, nullptr, 0);
      36           0 :     return;
      37             :   }
      38           0 :   CDM_LOG("WidevineFileIO::Read() '%s'", mName.c_str());
      39           0 :   mRecord->Read();
      40             : }
      41             : 
      42             : void
      43           0 : WidevineFileIO::Write(const uint8_t* aData, uint32_t aDataSize)
      44             : {
      45           0 :   if (!mRecord) {
      46           0 :     CDM_LOG("WidevineFileIO::Write() '%s' used uninitialized!", mName.c_str());
      47           0 :     mClient->OnWriteComplete(FileIOClient::kError);
      48           0 :     return;
      49             :   }
      50           0 :   mRecord->Write(aData, aDataSize);
      51             : }
      52             : 
      53             : void
      54           0 : WidevineFileIO::Close()
      55             : {
      56           0 :   CDM_LOG("WidevineFileIO::Close() '%s'", mName.c_str());
      57           0 :   if (mRecord) {
      58           0 :     mRecord->Close();
      59           0 :     mRecord = nullptr;
      60             :   }
      61           0 :   delete this;
      62           0 : }
      63             : 
      64             : static FileIOClient::Status
      65           0 : GMPToWidevineFileStatus(GMPErr aStatus)
      66             : {
      67           0 :   switch (aStatus) {
      68           0 :     case GMPRecordInUse: return FileIOClient::kInUse;
      69           0 :     case GMPNoErr: return FileIOClient::kSuccess;
      70           0 :     default: return FileIOClient::kError;
      71             :   }
      72             : }
      73             : 
      74             : void
      75           0 : WidevineFileIO::OpenComplete(GMPErr aStatus)
      76             : {
      77           0 :   CDM_LOG("WidevineFileIO::OpenComplete() '%s' status=%d", mName.c_str(), aStatus);
      78           0 :   mClient->OnOpenComplete(GMPToWidevineFileStatus(aStatus));
      79           0 : }
      80             : 
      81             : void
      82           0 : WidevineFileIO::ReadComplete(GMPErr aStatus,
      83             :                              const uint8_t* aData,
      84             :                              uint32_t aDataSize)
      85             : {
      86           0 :   CDM_LOG("WidevineFileIO::OnReadComplete() '%s' status=%d", mName.c_str(), aStatus);
      87           0 :   mClient->OnReadComplete(GMPToWidevineFileStatus(aStatus), aData, aDataSize);
      88           0 : }
      89             : 
      90             : void
      91           0 : WidevineFileIO::WriteComplete(GMPErr aStatus)
      92             : {
      93           0 :   CDM_LOG("WidevineFileIO::WriteComplete() '%s' status=%d", mName.c_str(), aStatus);
      94           0 :   mClient->OnWriteComplete(GMPToWidevineFileStatus(aStatus));
      95           0 : }
      96             : 
      97             : } // namespace mozilla

Generated by: LCOV version 1.13