MediaWriter.h revision 2dce41ad26cb3e9e15c9e456a84bcf5309548ca0
12dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber/* 22dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber * Copyright (C) 2010 The Android Open Source Project 32dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber * 42dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber * Licensed under the Apache License, Version 2.0 (the "License"); 52dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber * you may not use this file except in compliance with the License. 62dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber * You may obtain a copy of the License at 72dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber * 82dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber * http://www.apache.org/licenses/LICENSE-2.0 92dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber * 102dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber * Unless required by applicable law or agreed to in writing, software 112dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber * distributed under the License is distributed on an "AS IS" BASIS, 122dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber * See the License for the specific language governing permissions and 142dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber * limitations under the License. 152dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber */ 162dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber 172dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber#ifndef MEDIA_WRITER_H_ 182dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber 192dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber#define MEDIA_WRITER_H_ 202dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber 212dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber#include <utils/RefBase.h> 222dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber 232dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Hubernamespace android { 242dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber 252dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huberstruct MediaSource; 262dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber 272dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huberstruct MediaWriter : public RefBase { 282dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber MediaWriter() {} 292dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber 302dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber virtual status_t addSource(const sp<MediaSource> &source) = 0; 312dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber virtual bool reachedEOS() = 0; 322dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber virtual status_t start() = 0; 332dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber virtual void stop() = 0; 342dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber 352dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huberprotected: 362dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber virtual ~MediaWriter() {} 372dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber 382dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huberprivate: 392dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber MediaWriter(const MediaWriter &); 402dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber MediaWriter &operator=(const MediaWriter &); 412dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber}; 422dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber 432dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber} // namespace android 442dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber 452dce41ad26cb3e9e15c9e456a84bcf5309548ca0Andreas Huber#endif // MEDIA_WRITER_H_ 46