165fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko/* 265fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * Copyright (C) 2016 The Android Open Source Project 365fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * 465fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * Licensed under the Apache License, Version 2.0 (the "License"); 565fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * you may not use this file except in compliance with the License. 665fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * You may obtain a copy of the License at 765fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * 865fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * http://www.apache.org/licenses/LICENSE-2.0 965fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * 1065fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * Unless required by applicable law or agreed to in writing, software 1165fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * distributed under the License is distributed on an "AS IS" BASIS, 1265fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1365fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * See the License for the specific language governing permissions and 1465fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * limitations under the License. 1565fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko */ 1665fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 1765fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalkopackage com.android.tv.tuner.source; 1865fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 19d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalkoimport com.google.android.exoplayer.upstream.DataSource; 2065fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 2165fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko/** 22d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * {@link DataSource} for MPEG-TS stream, which will be used by {@link TsExtractor}. 2365fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko */ 24d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalkopublic abstract class TsDataSource implements DataSource { 2565fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 2665fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko /** 2765fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * Returns the number of bytes being buffered by {@link TsStreamer} so far. 2865fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * 2965fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * @return the buffered position 3065fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko */ 3165fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko public long getBufferedPosition() { 3265fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko return 0; 3365fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko } 3465fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 3565fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko /** 36d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * Returns the offset position where the last {@link DataSource#read} read. 3765fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * 3865fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * @return the last read position 3965fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko */ 4065fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko public long getLastReadPosition() { 4165fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko return 0; 4265fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko } 4365fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 4465fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko /** 4565fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * Shifts start position by the specified offset. 4665fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * Do not call this method when the class already provided MPEG-TS stream to the extractor. 4765fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * @param offset 0 <= offset <= buffered position 4865fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko */ 4965fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko public void shiftStartPosition(long offset) { } 5065fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko}