/*
* myLib - https://github.com/taktod/myLib
* Copyright (c) 2014 ttProject. All rights reserved.
*
* Licensed under The MIT license.
*/
package com.ttProject.chunk.mpegts.analyzer;
import org.apache.log4j.Logger;
import com.ttProject.chunk.mpegts.AudioDataList;
import com.ttProject.chunk.mpegts.VideoDataList;
import com.ttProject.media.Unit;
import com.ttProject.media.mpegts.packet.Pmt;
/**
* flvのデータを解析してpesを作成する動作
* 音声用の動作は別途作成します。
* @author taktod
*/
public class FlvPesAnalyzer implements IPesAnalyzer {
/** 動作ロガー */
private Logger logger = Logger.getLogger(FlvPesAnalyzer.class);
/** 動作pmt */
private Pmt pmt = null;
/** 音声データリスト(IAudioData) */
private AudioDataList audioDataList = null;
/** 映像データリスト(Pes) */
private VideoDataList videoDataList = null;
/**
* 解析動作
*/
@Override
public void analyze(Unit unit, long timestamp) {
if(unit instanceof Pmt) {
if(pmt != null) { // すでに解析済みならスルー
return;
}
// pmtの内容を解析します。
// h264があれば、flvから引き出す候補に
// mp3やaacがあればこちらもflvから引き出す候補にします。
}
else {
try {
// flvからデータを引き出します。
// コーデックがあわなければ引き出し候補から外します。
}
catch(Exception e) {
}
}
}
/**
* 音声データリスト保持
*/
@Override
public void setAudioDataList(AudioDataList audioDataList) {
this.audioDataList = audioDataList;
}
/**
* 映像データリスト保持
*/
@Override
public void setVideoDataList(VideoDataList videoDataList) {
this.videoDataList = videoDataList;
}
}