public static Label[] getLabels(ChannelBox box) { long tag = box.getChannelLayout(); if ((tag >> 16) == 147) { int n = (int) tag & 0xffff; Label[] res = new Label[n]; for (int i = 0; i < n; i++) res[i] = Label.getByVal((1 << 16) | i); return res; } for (ChannelLayout layout : EnumSet.allOf(ChannelLayout.class)) { if (layout.getCode() == tag) { switch (layout) { case kCAFChannelLayoutTag_UseChannelDescriptions: return extractLabels(box.getDescriptions()); case kCAFChannelLayoutTag_UseChannelBitmap: return getLabelsByBitmap(box.getChannelBitmap()); default: return layout.getLabels(); } } } return EMPTY; }
public static Label[] getLabels(ChannelBox box) { long tag = box.getChannelLayout(); if ((tag >> 16) == 147) { int n = (int) tag & 0xffff; Label[] res = new Label[n]; for (int i = 0; i < n; i++) res[i] = Label.getByVal((1 << 16) | i); return res; } for (ChannelLayout layout : EnumSet.allOf(ChannelLayout.class)) { if (layout.getCode() == tag) { switch (layout) { case kCAFChannelLayoutTag_UseChannelDescriptions: return extractLabels(box.getDescriptions()); case kCAFChannelLayoutTag_UseChannelBitmap: return getLabelsByBitmap(box.getChannelBitmap()); default: return layout.getLabels(); } } } return EMPTY; }
public static Label[] getLabelsFromChan(ChannelBox box) { long tag = box.getChannelLayout(); if ((tag >> 16) == 147) { int n = (int) tag & 0xffff; Label[] res = new Label[n]; for (int i = 0; i < n; i++) res[i] = Label.getByVal((1 << 16) | i); return res; } ChannelLayout[] values = ChannelLayout.values(); for (int i = 0; i < values.length; i++) { ChannelLayout layout = values[i]; if (layout.getCode() == tag) { if (layout == kCAFChannelLayoutTag_UseChannelDescriptions) { return extractLabels(box.getDescriptions()); } else if (layout == kCAFChannelLayoutTag_UseChannelBitmap) { return getLabelsByBitmap(box.getChannelBitmap()); } else { return layout.getLabels(); } } } return AudioSampleEntry.EMPTY; }