private ArrayList<ID3v2ChapterFrameData> extractChapterFrameData(String id) { ID3v2FrameSet frameSet = frameSets.get(id); if (frameSet != null) { ArrayList<ID3v2ChapterFrameData> chapterData = new ArrayList<>(); List<ID3v2Frame> frames = frameSet.getFrames(); for (ID3v2Frame frame : frames) { ID3v2ChapterFrameData frameData; try { frameData = new ID3v2ChapterFrameData(useFrameUnsynchronisation(), frame.getData()); chapterData.add(frameData); } catch (InvalidDataException e) { // do nothing } } return chapterData; } return null; }
@Override protected byte[] packFrameData() { ByteBuffer bb = ByteBuffer.allocate(getLength()); bb.put(id.getBytes()); bb.put((byte) 0); bb.putInt(startTime); bb.putInt(endTime); bb.putInt(startOffset); bb.putInt(endOffset); for (ID3v2Frame frame : subframes) { try { bb.put(frame.toBytes()); } catch (NotSupportedException e) { e.printStackTrace(); } } return bb.array(); }
public ID3v2ChapterFrameData(boolean unsynchronisation, byte[] bytes) throws InvalidDataException { super(unsynchronisation); synchroniseAndUnpackFrameData(bytes); }
@Override public void setChapters(ArrayList<ID3v2ChapterFrameData> chapters) { if (chapters != null) { invalidateDataLength(); boolean first = true; for (ID3v2ChapterFrameData chapter : chapters) { if (first) { first = false; addFrame(createFrame(ID_CHAPTER, chapter.toBytes()), true); } else { addFrame(createFrame(ID_CHAPTER, chapter.toBytes()), false); } } } }
@Override public void setChapters(ArrayList<ID3v2ChapterFrameData> chapters) { if (chapters != null) { invalidateDataLength(); boolean first = true; for (ID3v2ChapterFrameData chapter : chapters) { if (first) { first = false; addFrame(createFrame(ID_CHAPTER, chapter.toBytes()), true); } else { addFrame(createFrame(ID_CHAPTER, chapter.toBytes()), false); } } } }
public ID3v2ChapterFrameData(boolean unsynchronisation, byte[] bytes) throws InvalidDataException { super(unsynchronisation); synchroniseAndUnpackFrameData(bytes); }
private ArrayList<ID3v2ChapterFrameData> extractChapterFrameData(String id) { ID3v2FrameSet frameSet = frameSets.get(id); if (frameSet != null) { ArrayList<ID3v2ChapterFrameData> chapterData = new ArrayList<>(); List<ID3v2Frame> frames = frameSet.getFrames(); for (ID3v2Frame frame : frames) { ID3v2ChapterFrameData frameData; try { frameData = new ID3v2ChapterFrameData(useFrameUnsynchronisation(), frame.getData()); chapterData.add(frameData); } catch (InvalidDataException e) { // do nothing } } return chapterData; } return null; }
@Override protected byte[] packFrameData() { ByteBuffer bb = ByteBuffer.allocate(getLength()); bb.put(id.getBytes()); bb.put((byte) 0); bb.putInt(startTime); bb.putInt(endTime); bb.putInt(startOffset); bb.putInt(endOffset); for (ID3v2Frame frame : subframes) { try { bb.put(frame.toBytes()); } catch (NotSupportedException e) { e.printStackTrace(); } } return bb.array(); }