List of usage examples for android.media MediaFormat KEY_MAX_INPUT_SIZE
String KEY_MAX_INPUT_SIZE
To view the source code for android.media MediaFormat KEY_MAX_INPUT_SIZE.
Click Source Link
From source file:br.com.skylane.voicer.rtp.RtpMediaDecoder.java
/** * //from w ww.ja v a2 s . c om * @return */ public MediaFormat getMediaFormat() { String mimeType = "video/avc"; MediaFormat format = MediaFormat.createVideoFormat(mimeType, SURFACE_WIDTH, SURFACE_HEIGHT); // from avconv, when streaming sample.h264.mp4 from disk /*byte[] header_sps = {0, 0, 0, 1, // header 0x67, 0x64, (byte) 0x00, 0x1e, (byte) 0xac, (byte) 0xd9, 0x40, (byte) 0xa0, 0x3d, (byte) 0xa1, 0x00, 0x00, (byte) 0x03, 0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0x3C, 0x0F, 0x16, 0x2D, (byte) 0x96}; // sps byte[] header_pps = {0, 0, 0, 1, // header 0x68, (byte) 0xeb, (byte) 0xec, (byte) 0xb2, 0x2C}; // pps */ //byte[] header_sps = {0, 0, 0, 1, 103, 100, 0, 41, -84, 27, 26, -64, -96, 61, -112}; // sps //byte[] header_sps = {0, 0, 0, 1, 103, 66, 0, 30, -90, -128, -96, 61, -112}; //-samsung byte[] header_sps = { 0, 0, 0, 1, 103, 66, -128, 30, -85, 64, 80, 30, -48, -128, 0, 0, 3, 0, -128, 0, 0, 30, 112, 32, 0, 122, 18, 0, 15, 66, 86, -79, -80, 16 }; //-asus //byte[] header_pps = {0, 0, 0, 1, 104, -22, 67, -53}; // pps //byte[] header_pps = {0, 0, 0, 1, 104, -50, 56, -128}; // -samsung byte[] header_pps = { 0, 0, 0, 1, 104, -50, 60, -128 }; // -asus /*format.setByteBuffer("csd-0", ByteBuffer.wrap(header_sps)); format.setByteBuffer("csd-1", ByteBuffer.wrap(header_pps));*/ format.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, SURFACE_WIDTH * SURFACE_HEIGHT); format.setInteger(MediaFormat.KEY_DURATION, 12600000); /*format.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface); format.setInteger(MediaFormat.KEY_BIT_RATE, 1000000); format.setInteger(MediaFormat.KEY_FRAME_RATE, FRAME_RATE); format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, IFRAME_INTERVAL);*/ return format; }
From source file:com.serenegiant.media.TLMediaEncoder.java
private static final String asString(final MediaFormat format) { final JSONObject map = new JSONObject(); try {/*from www .ja v a 2s . c o m*/ if (format.containsKey(MediaFormat.KEY_MIME)) map.put(MediaFormat.KEY_MIME, format.getString(MediaFormat.KEY_MIME)); if (format.containsKey(MediaFormat.KEY_WIDTH)) map.put(MediaFormat.KEY_WIDTH, format.getInteger(MediaFormat.KEY_WIDTH)); if (format.containsKey(MediaFormat.KEY_HEIGHT)) map.put(MediaFormat.KEY_HEIGHT, format.getInteger(MediaFormat.KEY_HEIGHT)); if (format.containsKey(MediaFormat.KEY_BIT_RATE)) map.put(MediaFormat.KEY_BIT_RATE, format.getInteger(MediaFormat.KEY_BIT_RATE)); if (format.containsKey(MediaFormat.KEY_COLOR_FORMAT)) map.put(MediaFormat.KEY_COLOR_FORMAT, format.getInteger(MediaFormat.KEY_COLOR_FORMAT)); if (format.containsKey(MediaFormat.KEY_FRAME_RATE)) map.put(MediaFormat.KEY_FRAME_RATE, format.getInteger(MediaFormat.KEY_FRAME_RATE)); if (format.containsKey(MediaFormat.KEY_I_FRAME_INTERVAL)) map.put(MediaFormat.KEY_I_FRAME_INTERVAL, format.getInteger(MediaFormat.KEY_I_FRAME_INTERVAL)); if (format.containsKey(MediaFormat.KEY_REPEAT_PREVIOUS_FRAME_AFTER)) map.put(MediaFormat.KEY_REPEAT_PREVIOUS_FRAME_AFTER, format.getLong(MediaFormat.KEY_REPEAT_PREVIOUS_FRAME_AFTER)); if (format.containsKey(MediaFormat.KEY_MAX_INPUT_SIZE)) map.put(MediaFormat.KEY_MAX_INPUT_SIZE, format.getInteger(MediaFormat.KEY_MAX_INPUT_SIZE)); if (format.containsKey(MediaFormat.KEY_DURATION)) map.put(MediaFormat.KEY_DURATION, format.getInteger(MediaFormat.KEY_DURATION)); if (format.containsKey(MediaFormat.KEY_CHANNEL_COUNT)) map.put(MediaFormat.KEY_CHANNEL_COUNT, format.getInteger(MediaFormat.KEY_CHANNEL_COUNT)); if (format.containsKey(MediaFormat.KEY_SAMPLE_RATE)) map.put(MediaFormat.KEY_SAMPLE_RATE, format.getInteger(MediaFormat.KEY_SAMPLE_RATE)); if (format.containsKey(MediaFormat.KEY_CHANNEL_MASK)) map.put(MediaFormat.KEY_CHANNEL_MASK, format.getInteger(MediaFormat.KEY_CHANNEL_MASK)); if (format.containsKey(MediaFormat.KEY_AAC_PROFILE)) map.put(MediaFormat.KEY_AAC_PROFILE, format.getInteger(MediaFormat.KEY_AAC_PROFILE)); if (format.containsKey(MediaFormat.KEY_AAC_SBR_MODE)) map.put(MediaFormat.KEY_AAC_SBR_MODE, format.getInteger(MediaFormat.KEY_AAC_SBR_MODE)); if (format.containsKey(MediaFormat.KEY_MAX_INPUT_SIZE)) map.put(MediaFormat.KEY_MAX_INPUT_SIZE, format.getInteger(MediaFormat.KEY_MAX_INPUT_SIZE)); if (format.containsKey(MediaFormat.KEY_IS_ADTS)) map.put(MediaFormat.KEY_IS_ADTS, format.getInteger(MediaFormat.KEY_IS_ADTS)); if (format.containsKey("what")) map.put("what", format.getInteger("what")); if (format.containsKey("csd-0")) map.put("csd-0", asString(format.getByteBuffer("csd-0"))); if (format.containsKey("csd-1")) map.put("csd-1", asString(format.getByteBuffer("csd-1"))); } catch (JSONException e) { Log.e(TAG_STATIC, "writeFormat:", e); } return map.toString(); }
From source file:com.serenegiant.media.TLMediaEncoder.java
private static final MediaFormat asMediaFormat(final String format_str) { MediaFormat format = new MediaFormat(); try {/*from w ww. j a va2 s . c om*/ final JSONObject map = new JSONObject(format_str); if (map.has(MediaFormat.KEY_MIME)) format.setString(MediaFormat.KEY_MIME, (String) map.get(MediaFormat.KEY_MIME)); if (map.has(MediaFormat.KEY_WIDTH)) format.setInteger(MediaFormat.KEY_WIDTH, (Integer) map.get(MediaFormat.KEY_WIDTH)); if (map.has(MediaFormat.KEY_HEIGHT)) format.setInteger(MediaFormat.KEY_HEIGHT, (Integer) map.get(MediaFormat.KEY_HEIGHT)); if (map.has(MediaFormat.KEY_BIT_RATE)) format.setInteger(MediaFormat.KEY_BIT_RATE, (Integer) map.get(MediaFormat.KEY_BIT_RATE)); if (map.has(MediaFormat.KEY_COLOR_FORMAT)) format.setInteger(MediaFormat.KEY_COLOR_FORMAT, (Integer) map.get(MediaFormat.KEY_COLOR_FORMAT)); if (map.has(MediaFormat.KEY_FRAME_RATE)) format.setInteger(MediaFormat.KEY_FRAME_RATE, (Integer) map.get(MediaFormat.KEY_FRAME_RATE)); if (map.has(MediaFormat.KEY_I_FRAME_INTERVAL)) format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, (Integer) map.get(MediaFormat.KEY_I_FRAME_INTERVAL)); if (map.has(MediaFormat.KEY_REPEAT_PREVIOUS_FRAME_AFTER)) format.setLong(MediaFormat.KEY_REPEAT_PREVIOUS_FRAME_AFTER, (Long) map.get(MediaFormat.KEY_REPEAT_PREVIOUS_FRAME_AFTER)); if (map.has(MediaFormat.KEY_MAX_INPUT_SIZE)) format.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, (Integer) map.get(MediaFormat.KEY_MAX_INPUT_SIZE)); if (map.has(MediaFormat.KEY_DURATION)) format.setInteger(MediaFormat.KEY_DURATION, (Integer) map.get(MediaFormat.KEY_DURATION)); if (map.has(MediaFormat.KEY_CHANNEL_COUNT)) format.setInteger(MediaFormat.KEY_CHANNEL_COUNT, (Integer) map.get(MediaFormat.KEY_CHANNEL_COUNT)); if (map.has(MediaFormat.KEY_SAMPLE_RATE)) format.setInteger(MediaFormat.KEY_SAMPLE_RATE, (Integer) map.get(MediaFormat.KEY_SAMPLE_RATE)); if (map.has(MediaFormat.KEY_CHANNEL_MASK)) format.setInteger(MediaFormat.KEY_CHANNEL_MASK, (Integer) map.get(MediaFormat.KEY_CHANNEL_MASK)); if (map.has(MediaFormat.KEY_AAC_PROFILE)) format.setInteger(MediaFormat.KEY_AAC_PROFILE, (Integer) map.get(MediaFormat.KEY_AAC_PROFILE)); if (map.has(MediaFormat.KEY_AAC_SBR_MODE)) format.setInteger(MediaFormat.KEY_AAC_SBR_MODE, (Integer) map.get(MediaFormat.KEY_AAC_SBR_MODE)); if (map.has(MediaFormat.KEY_MAX_INPUT_SIZE)) format.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, (Integer) map.get(MediaFormat.KEY_MAX_INPUT_SIZE)); if (map.has(MediaFormat.KEY_IS_ADTS)) format.setInteger(MediaFormat.KEY_IS_ADTS, (Integer) map.get(MediaFormat.KEY_IS_ADTS)); if (map.has("what")) format.setInteger("what", (Integer) map.get("what")); if (map.has("csd-0")) format.setByteBuffer("csd-0", asByteBuffer((String) map.get("csd-0"))); if (map.has("csd-1")) format.setByteBuffer("csd-1", asByteBuffer((String) map.get("csd-1"))); } catch (JSONException e) { Log.e(TAG_STATIC, "writeFormat:" + format_str, e); format = null; } return format; }
From source file:com.sonymobile.android.media.internal.ISOBMFFParser.java
protected void parseVisualSampleEntry(byte[] data) { /*// w w w. j a va2s. c o m * VisualSampleEntry extends SampleEntry in ISO/IEC 14496 part 12, see * section 8.5.2.2 for structure */ mCurrentOffset += data.length; // SampleEntry // skip 6 for reserved // skip 2 for data_reference_index // VisualSampleEntry // skip 2 for pre_defined // skip 2 for reserved // skip 12 for pre_defined int width = ((data[24] & 0xFF) << 8 | data[25] & 0xFF) & 0x0000FFFF; int height = ((data[26] & 0xFF) << 8 | data[27] & 0xFF) & 0x0000FFFF; // skip 4 for horizresolution // skip 4 for vertresolution // skip 4 for reserved // skip 2 for frame_count // skip 32 for compressorname // skip 2 for depth // skip 2 for pre_defined mCurrentMediaFormat.setInteger(MediaFormat.KEY_WIDTH, width); mCurrentTrack.getMetaData().addValue(KEY_WIDTH, width); mCurrentMediaFormat.setInteger(MediaFormat.KEY_HEIGHT, height); mCurrentTrack.getMetaData().addValue(KEY_HEIGHT, height); int maxSize = ((width + 15) / 16) * ((height + 15) / 16) * 192; mCurrentMediaFormat.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, maxSize); addMetaDataValue(KEY_WIDTH, width); addMetaDataValue(KEY_HEIGHT, height); }
From source file:com.sonymobile.android.media.internal.ISOBMFFParser.java
protected void parseAudioSampleEntry(byte[] data) { mCurrentOffset += data.length;/* w w w. j a va 2s . c o m*/ // skip 6 for reserved // skip 2 for data_reference_index // skip 8 for reserved int channelCount = ((data[16] & 0xFF) << 8 | data[17] & 0xFF) & 0x0000FFFF; // skip 2 for samplesize // skip 2 for pre_defined // skip 2 for reserved int sampleRate = ((data[24] & 0xFF) << 8 | data[25] & 0xFF) & 0x0000FFFF; // skip 2 for sampleRate lower mCurrentMediaFormat.setInteger(MediaFormat.KEY_CHANNEL_COUNT, channelCount); mCurrentTrack.getMetaData().addValue(MetaData.KEY_CHANNEL_COUNT, channelCount); mCurrentMediaFormat.setInteger(MediaFormat.KEY_SAMPLE_RATE, sampleRate); int maxSize = 8192 * 4; // aac max size mCurrentMediaFormat.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, maxSize); }