You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdemultimedia/mpeglib/lib/input/inputStream.cpp

136 lines
2.5 KiB

/*
generic input class
Copyright (C) 1999 Martin Vogt
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Library General Public License as published by
the Free Software Foundation.
For more information look at the file COPYRIGHT in this package
*/
#include "inputStream.h"
#include "../util/mmx/mmx.h"
#include <iostream>
using namespace std;
InputStream::InputStream() {
timeStampArray=new TimeStampArray((char*)"Input",3000);
urlBuffer=new DynBuffer(20);
// we call mm_support() here because it is the only position
// where we gurantee that not threads are
// running (the call is not thread safe)
// afer the call we never execute the asm part again
// and everything is fine
mm_support();
}
InputStream::~InputStream() {
delete timeStampArray;
delete urlBuffer;
}
int InputStream::open(const char* dest) {
cout << "direct virtual call InputStream::open:"<<dest<<endl;
return false;
}
void InputStream::close() {
cout << "direct virtual call InputStream::close"<<endl;
exit(0);
}
int InputStream::isOpen() {
cout << "direct virtual call InputStream::isOpen"<<endl;
exit(0);
return false;
}
int InputStream::eof() {
cout << "direct virtual call InputStream::eof"<<endl;
exit(0);
return true;
}
int InputStream::read(char* ,int ) {
cout << "direct virtual call InputStream::read"<<endl;
exit(0);
return 0;
}
int InputStream::seek(long bytePos) {
cout << "direct virtual call InputStream::seek:"<<bytePos<<endl;
exit(0);
return false;
}
void InputStream::clear() {
cout << "direct virtual call InputStream::clear:"<<endl;
exit(0);
}
long InputStream::getByteLength() {
cout << "direct virtual call InputStream::getByteLength"<<endl;
return 0;
}
long InputStream::getBytePosition() {
cout << "direct virtual call InputStream::getBytePosition"<<endl;
return 0;
}
void InputStream::insertTimeStamp(TimeStamp* src,long key,int len) {
timeStampArray->insertTimeStamp(src,key,len);
}
TimeStamp* InputStream::getTimeStamp(long key) {
return timeStampArray->getTimeStamp(key);
}
int InputStream::bytesUntilNext(long key) {
return timeStampArray->bytesUntilNext(key);
}
void InputStream::print() {
cout << "direct virtual call InputStream::print"<<endl;
}
char* InputStream::getUrl() {
return urlBuffer->getData();
}
void InputStream::setUrl(const char* url) {
urlBuffer->clear();
if (url != NULL) {
urlBuffer->append(url);
}
}