/* * myLib - https://github.com/taktod/myLib * Copyright (c) 2014 ttProject. All rights reserved. * * Licensed under The MIT license. */ package com.ttProject.frame; import org.apache.log4j.Logger; import com.ttProject.nio.channels.IReadChannel; /** * base for audio frame analyze. * @author taktod */ public abstract class AudioAnalyzer implements IAnalyzer { /** logger */ @SuppressWarnings("unused") private Logger logger = Logger.getLogger(AudioAnalyzer.class); /** audioFrame selector */ private AudioSelector selector; /** * constructor * @param selector */ public AudioAnalyzer(AudioSelector selector) { setSelector(selector); } /** * ref the selector * @return */ public AudioSelector getSelector() { return selector; } /** * {@inheritDoc} * @param selector */ protected void setSelector(AudioSelector selector) { this.selector = selector; } /** * {@inheritDoc} */ @Override public IFrame analyze(IReadChannel channel) throws Exception { IFrame frame = (IFrame)selector.select(channel); if(frame != null) { frame.load(channel); } return frame; } /** * {@inheritDoc} */ @Override public IFrame getRemainFrame() throws Exception { return null; } /** * {@inheritDoc} */ @Override public void setPrivateData(IReadChannel channel) throws Exception { } }