/* * myLib - https://github.com/taktod/myLib * Copyright (c) 2014 ttProject. All rights reserved. * * Licensed under The MIT license. */ package com.ttProject.chunk; import com.ttProject.media.Unit; /** * MediaデータをこのManagerの継承クラスに渡すとchunkに分割して応答します。 * 主にhlsとかで利用する予定。 * @author taktod */ public interface IMediaChunkManager { /** * メディアデータのunitをいれると対象クラス用のデータがでてくる * chunkを作るのにデータが足りない場合はnullが帰ってきます。 * @param unit * @return * @throws Exception */ public IMediaChunk getChunk(Unit unit) throws Exception; /** * 現在処理中のchunkを応答する。 * @return */ public IMediaChunk getCurrentChunk(); /** * 利用拡張子を応答する * @return */ public String getExt(); /** * ヘッダ用のデータの利用拡張子を応答する。 * @return */ public String getHeaderExt(); /** * 分割長さを参照します。 * @return */ public float getDuration(); /** * 分割長さを設定します。 * @param duration * @return */ public void setDuration(float duration); /** * 現在の保持データを破棄して終了する。 * @return 残っているmediaChunkがある場合はここで応答しなければいけない。 */ public IMediaChunk close(); /** * 経過済みticを応答します。 * @return */ public long getPassedTic(); }