test_class.declarator: decoder
test_class.modifier: private
test_class.original_string: private VideoDecoder decoder;
test_class.type: VideoDecoder
test_class.var_name: decoder
test_class.declarator: encoder
test_class.modifier: private
test_class.original_string: private AudioEncoder encoder;
test_class.type: AudioEncoder
test_class.var_name: encoder
test_class.declarator: mediaCodec
test_class.modifier: private
test_class.original_string: private IMediaCodec mediaCodec;
test_class.type: IMediaCodec
test_class.var_name: mediaCodec
test_class.file: domain/src/test/java/org/m4m/domain/pipeline/CopyDataCommandHandlerTest.java
test_class.identifier: CopyDataCommandHandlerTest
test_class.superclass: extends TestBase
test_case.body: @Test
      public void dequeueAndQueueInputBuffers() {
          new CopyDataCommandHandler(decoder, encoder).handle();
  
          verify(mediaCodec, atLeastOnce()).dequeueInputBuffer(anyLong());
          verify(mediaCodec).queueInputBuffer(eq(0), anyInt(), anyInt(), anyLong(), anyInt());
      }
test_case.class_method_signature: CopyDataCommandHandlerTest.dequeueAndQueueInputBuffers()
test_case.full_signature: @Test public void dequeueAndQueueInputBuffers()
test_case.identifier: dequeueAndQueueInputBuffers
test_case.invocations: handle dequeueInputBuffer verify atLeastOnce anyLong queueInputBuffer verify eq anyInt anyInt anyLong anyInt
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void dequeueAndQueueInputBuffers()
focal_class.declarator: output
focal_class.modifier: private final
focal_class.original_string: private final IPluginOutput output;
focal_class.type: IPluginOutput
focal_class.var_name: output
focal_class.declarator: input
focal_class.modifier: private final
focal_class.original_string: private final MediaCodecPlugin input;
focal_class.type: MediaCodecPlugin
focal_class.var_name: input
focal_class.file: domain/src/main/java/org/m4m/domain/pipeline/CopyDataCommandHandler.java
focal_class.identifier: CopyDataCommandHandler
focal_class.interfaces: implements ICommandHandler
focal_class.class_method_signature: CopyDataCommandHandler.CopyDataCommandHandler(IPluginOutput output, MediaCodecPlugin input)
focal_class.full_signature: public  CopyDataCommandHandler(IPluginOutput output, MediaCodecPlugin input)
focal_class.identifier: CopyDataCommandHandler
focal_class.modifiers: public
focal_class.parameters: (IPluginOutput output, MediaCodecPlugin input)
focal_class.signature:  CopyDataCommandHandler(IPluginOutput output, MediaCodecPlugin input)
focal_class.class_method_signature: CopyDataCommandHandler.handle()
focal_class.full_signature: @Override public void handle()
focal_class.identifier: handle
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void handle()
focal_class.class_method_signature: CopyDataCommandHandler.restoreCommands()
focal_class.full_signature: private void restoreCommands()
focal_class.identifier: restoreCommands
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void restoreCommands()
focal_method.body: @Override
      public void handle() {
          Frame encoderFrame = input.findFreeFrame();
          if (encoderFrame == null) {
              restoreCommands();
              return;
          }
  
          Frame decoderFrame = output.getFrame();
          if (decoderFrame == null) return;
  
          encoderFrame.copyDataFrom(decoderFrame);
          input.push(encoderFrame);
  
          output.releaseOutputBuffer(decoderFrame.getBufferIndex());
      }
focal_method.class_method_signature: CopyDataCommandHandler.handle()
focal_method.full_signature: @Override public void handle()
focal_method.identifier: handle
focal_method.invocations: findFreeFrame restoreCommands getFrame copyDataFrom push releaseOutputBuffer getBufferIndex
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void handle()