third_party/libwebm: Pull from upstream

Pulling latest libwebm from upstream.

Change-Id: I62edafb0b0283160c9b4060fd5907e3aad6c7820
This commit is contained in:
Vignesh Venkatasubramanian 2014-04-08 16:25:23 -07:00
parent e8e380f994
commit 919553695c
4 changed files with 33 additions and 10 deletions

View File

@ -1,5 +1,5 @@
URL: https://chromium.googlesource.com/webm/libwebm
Version: 630a0e3c338e1b32bddf513a2dad807908d2976a
Version: a7118d8ec564e9db841da1eb01f547f3229f240a
License: BSD
License File: LICENSE.txt

View File

@ -292,11 +292,11 @@ bool WriteEbmlElement(IMkvWriter* writer, uint64 type, const char* value) {
if (WriteID(writer, type))
return false;
const int32 length = strlen(value);
const uint64 length = strlen(value);
if (WriteUInt(writer, length))
return false;
if (writer->Write(value, length))
if (writer->Write(value, static_cast<const uint32>(length)))
return false;
return true;

View File

@ -14,13 +14,20 @@ namespace mkvparser
{
MkvReader::MkvReader() :
m_file(NULL)
{
m_file(NULL),
reader_owns_file_(true) {
}
MkvReader::~MkvReader()
{
MkvReader::MkvReader(FILE* fp) :
m_file(fp),
reader_owns_file_(false) {
GetFileSize();
}
MkvReader::~MkvReader() {
if (reader_owns_file_)
Close();
m_file = NULL;
}
int MkvReader::Open(const char* fileName)
@ -42,12 +49,17 @@ int MkvReader::Open(const char* fileName)
if (m_file == NULL)
return -1;
#endif
return !GetFileSize();
}
bool MkvReader::GetFileSize() {
if (m_file == NULL)
return false;
#ifdef _MSC_VER
int status = _fseeki64(m_file, 0L, SEEK_END);
if (status)
return -1; //error
return false; //error
m_length = _ftelli64(m_file);
#else
@ -56,16 +68,19 @@ int MkvReader::Open(const char* fileName)
#endif
assert(m_length >= 0);
if (m_length < 0)
return false;
#ifdef _MSC_VER
status = _fseeki64(m_file, 0L, SEEK_SET);
if (status)
return -1; //error
return false; //error
#else
fseek(m_file, 0L, SEEK_SET);
#endif
return 0;
return true;
}
void MkvReader::Close()

View File

@ -21,6 +21,7 @@ class MkvReader : public IMkvReader
MkvReader& operator=(const MkvReader&);
public:
MkvReader();
MkvReader(FILE* fp);
virtual ~MkvReader();
int Open(const char*);
@ -29,8 +30,15 @@ public:
virtual int Read(long long position, long length, unsigned char* buffer);
virtual int Length(long long* total, long long* available);
private:
// Determines the size of the file. This is called either by the constructor
// or by the Open function depending on file ownership. Returns true on
// success.
bool GetFileSize();
long long m_length;
FILE* m_file;
bool reader_owns_file_;
};
} //end namespace mkvparser