Package javax.media

Examples of javax.media.Buffer


    {
      for (ProducerConsumerQueue q : qBuffers.values())
      {
        if (q != null)
        { 
          final Buffer eomBuffer = new Buffer();
          eomBuffer.setEOM(true);
          // TODO: set format/
          try
          {
            q.put(eomBuffer);
          } catch (InterruptedException e)
View Full Code Here


       
        final String formatStr = getStringAttr(atts, "format", null);
       
        final Format format = formatStr == null ? formatsMap.get(currentTrack) : FormatArgUtils.parse(formatStr);

        Buffer buffer = new Buffer();
        buffer.setSequenceNumber(sequenceNumber);
        buffer.setTimeStamp(timeStamp);
        buffer.setDuration(duration);
        buffer.setFlags(flags);
        buffer.setFormat(format);
       
        currentBuffer = buffer;  // data will be set when we get the data element
        currentDataChars = new StringBuilder();
        state = AWAIT_DATA;
//         
View Full Code Here

       
        int sequence = header.getSequence();
        long timestamp = header.getTimestamp();
        calculateJitter(timestamp);
       
        Buffer buffer = new Buffer();
        buffer.setHeader(header);
        buffer.setData(data);
        buffer.setOffset(offset);
        buffer.setLength(length);
        buffer.setTimeStamp(timestamp);
        buffer.setSequenceNumber(sequence);

        buffer.setDuration(Math.round((double)length * durationMultiplier * 1000000.0d));

        int flags = Buffer.FLAG_RTP_TIME | Buffer.FLAG_RELATIVE_TIME;
        if (header.getMarker() == 1)
        {
            flags |= Buffer.FLAG_RTP_MARKER;
        }
        buffer.setFlags(flags);

        if ( null != handler )
        {
            try
            {
View Full Code Here

    @Override
    public void read(Buffer buffer)
    {
        try
        {
            Buffer data = itsRTPBuffer.removeWait();
           
            if ((data != null) && (buffer != null))
            {
                buffer.setData(data.getData());
                buffer.setOffset(data.getOffset());
                buffer.setLength(data.getLength());
                buffer.setTimeStamp(data.getTimeStamp());
                buffer.setSequenceNumber(data.getSequenceNumber());
                buffer.setFlags(data.getFlags());
                buffer.setFormat(format);
               
                // mgodehardt: will measure thruput in bits per second for the BitRateControl
                // dont know if this the right place to measure the thruput
                long currentTimestamp = System.nanoTime();
                if ( -1 == lastTimestamp )
                {
                    lastTimestamp = currentTimestamp;
                }
               
                bytesProcessed += data.getLength();
               
                if ( (currentTimestamp - lastTimestamp) > 1000000000L )
                {
                    bitsPerSecond = bytesProcessed << 3;
                    bytesProcessed = 0;
View Full Code Here

   
  }
 
  private byte encode(byte[] data, Codec encoder, Format f)
  {
    Buffer input = new Buffer();
    input.setFormat(f);
    input.setData(data);
    input.setLength(2);
    Buffer output = new Buffer();
    output.setData(new byte[1]);
    int res = encoder.process(input, output);
    assertEquals(res, Codec.BUFFER_PROCESSED_OK);
    final byte[] result = (byte[]) output.getData();
    final int resultLen = output.getLength();
    assertEquals(resultLen, 1);
    return result[0];
  }
View Full Code Here

 
  private void fillBuffer()
  {
    if (buffer == null)
    { 
      buffer = new Buffer();
      buffer.setFormat(track.getFormat());
     
    }
   
   
View Full Code Here

      assertEquals(format.getFlipped(), 0);
   
     
      final BufferToImage b2i = new BufferToImage(format);
     
      final Buffer buffer = new Buffer();
      buffer.setFormat(format);
      //System.out.println(format.getMaxDataLength());
      final int[] ba = new int[format.getMaxDataLength()];
      ba[0] = 2;
      buffer.setData(ba);
     
      final BufferedImage i = (BufferedImage) b2i.createImage(buffer);
      assertTrue(i != null);
      assertEquals(i.getWidth(), format.getSize().width);
      assertEquals(i.getHeight(), format.getSize().height);
View Full Code Here

     
     
      final BufferToImage b2i = new BufferToImage(f);
      System.out.println("\tfinal BufferToImage b2i = new BufferToImage(f);");
     
      final Buffer buffer = new Buffer();
      buffer.setFormat(f);
     
      System.out.println("\tfinal Buffer buffer = new Buffer();");
      System.out.println("\tbuffer.setFormat(f);");
     
      //System.out.println(format.getMaxDataLength());
      final int[] ba = new int[f.getMaxDataLength()];
      for (int i = 0; i < ba.length; ++i)
      {  ba[i] = (int) i;
      }
      buffer.setData(ba);
      System.out.println("\tbuffer.setData(" + CGUtils.toLiteral(ba) + ");");
     
      final BufferedImage i = (BufferedImage) b2i.createImage(buffer);
      System.out.println("\tfinal BufferedImage i = (BufferedImage) b2i.createImage(buffer);");
         
View Full Code Here

      assertEquals(f.getLineStride(), 4);
      assertEquals(f.getPixelStride(), 1);
      assertEquals(f.getEndian(), -1);
      assertEquals(f.getFlipped(), 0);
      final BufferToImage b2i = new BufferToImage(f);
      final Buffer buffer = new Buffer();
      buffer.setFormat(f);
      buffer.setData(new int[] {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15});
      final BufferedImage i = (BufferedImage) b2i.createImage(buffer);
      assertTrue(i != null);
      assertEquals(i.getWidth(), f.getSize().width);
      assertEquals(i.getHeight(), f.getSize().height);
      assertEquals(i.getColorModel().getColorSpace().getType(), ColorSpace.TYPE_RGB);
      assertEquals(i.getType(), BufferedImage.TYPE_INT_BGR);
      final int[][] target = new int[][] {new int[] {0,0,0},new int[] {1,0,0},new int[] {2,0,0},new int[] {3,0,0},new int[] {4,0,0},new int[] {5,0,0},new int[] {6,0,0},new int[] {7,0,0},new int[] {8,0,0},new int[] {9,0,0},new int[] {10,0,0},new int[] {11,0,0},new int[] {12,0,0},new int[] {13,0,0},new int[] {14,0,0},new int[] {15,0,0},};
      for (int y = 0; y < f.getSize().height; ++y)
      {
        for (int x = 0; x < f.getSize().width; ++x)
        {
          final int[] pix = i.getRaster().getPixel(x, y, (int[]) null);
          assertEquals(pix[0], target[x + y * f.getSize().width][0]);
          assertEquals(pix[1], target[x + y * f.getSize().width][1]);
          assertEquals(pix[2], target[x + y * f.getSize().width][2]);
        }
      }
    }
    {
      final RGBFormat f = new RGBFormat(new java.awt.Dimension(4, 4), 16, Format.intArray, 1.3414634f, 32, 0xff0000, 0xff00, 0xff, 1, 4, 0, -1);
      assertEquals(f.getLineStride(), 4);
      assertEquals(f.getPixelStride(), 1);
      assertEquals(f.getEndian(), -1);
      assertEquals(f.getFlipped(), 0);
      final BufferToImage b2i = new BufferToImage(f);
      final Buffer buffer = new Buffer();
      buffer.setFormat(f);
      buffer.setData(new int[] {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15});
      final BufferedImage i = (BufferedImage) b2i.createImage(buffer);
      assertTrue(i != null);
      assertEquals(i.getWidth(), f.getSize().width);
      assertEquals(i.getHeight(), f.getSize().height);
      assertEquals(i.getColorModel().getColorSpace().getType(), ColorSpace.TYPE_RGB);
View Full Code Here

          // underlying buffer, and queue it to ourself and all other cloned streams of the same
          // underlying stream (same stream index):
         
          if (bufferQueue.isEmpty())
          {
            final Buffer originalBuffer = new Buffer()// TODO: find a way to reuse buffers/avoid allocating new memory each time
            final byte[] originalBufferData = new byte[READ_BUFFER_SIZE];
            originalBuffer.setData(originalBufferData);
            int numRead = stream.read(originalBufferData, 0, originalBufferData.length);
            if (numRead < 0)
              originalBuffer.setEOM(true);
            else
              originalBuffer.setLength(numRead);
           
            try
            {
              for (ClonedDataSource clone : clones)
              {
                final ClonedDataSource.ClonedPullSourceStream clonedStream = (ClonedDataSource.ClonedPullSourceStream) clone.getStreams()[streamIndex];
                clonedStream.getBufferQueue().put((Buffer) originalBuffer.clone());
              }
            }
            catch (InterruptedException e)
            {
              logger.log(Level.WARNING, "" + e, e);
View Full Code Here

TOP

Related Classes of javax.media.Buffer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.