@Override
 public int pause() {
   int ret = mConsumer.pauseCallback();
   NgnMediaPluginEventArgs.broadcastEvent(
       new NgnMediaPluginEventArgs(
           mConsumer.mId,
           NgnMediaType.Video,
           ret == 0 ? NgnMediaPluginEventTypes.PAUSED_OK : NgnMediaPluginEventTypes.PAUSED_NOK));
   return ret;
 }
 @Override
 public int stop() {
   int ret = mConsumer.stopCallback();
   NgnMediaPluginEventArgs.broadcastEvent(
       new NgnMediaPluginEventArgs(
           mConsumer.mId,
           NgnMediaType.Video,
           ret == 0
               ? NgnMediaPluginEventTypes.STOPPED_OK
               : NgnMediaPluginEventTypes.STOPPED_NOK));
   return ret;
 }
 @Override
 public int prepare(int width, int height, int fps) {
   int ret = mConsumer.prepareCallback(width, height, fps);
   NgnMediaPluginEventArgs.broadcastEvent(
       new NgnMediaPluginEventArgs(
           mConsumer.mId,
           NgnMediaType.Video,
           ret == 0
               ? NgnMediaPluginEventTypes.PREPARED_OK
               : NgnMediaPluginEventTypes.PREPARED_NOK));
   return ret;
 }
 @Override
 public int bufferCopied(long nCopiedSize, long nAvailableSize) {
   return mConsumer.bufferCopiedCallback(nCopiedSize, nAvailableSize);
 }
 @Override
 public int consume(ProxyVideoFrame frame) {
   return mConsumer.consumeCallback(frame);
 }