예제 #1
0
파일: testmedia.cpp 프로젝트: liu58995/srt
template<class FileBase> inline
bytevector FileRead(FileBase& ifile, size_t chunk, const string& filename)
{
    bytevector data(chunk);
    ifile.read(data.data(), chunk);
    size_t nread = ifile.gcount();
    if ( nread < data.size() )
        data.resize(nread);

    if ( data.empty() )
        throw Source::ReadEOF(filename);
    return data;
}
예제 #2
0
TFW_BEGIN_NS

////////////////////////////////////////////////////////////////////////////
// 静的関数

#if SUPPORT_EXTLIB_LPNG

/*---------------------------------------------------------------------*//**
	ファイル読み込みコールバック関数
**//*---------------------------------------------------------------------*/
static void cbFileRead(png_structp png, png_bytep data, png_size_t length)
{
	FileBase* file = (FileBase*)png_get_io_ptr(png);
	file->read(data, (u32)length);
}