/** * {@inheritDoc} * * @see org.opencastproject.mediapackage.MediaPackage#getTracks(org.opencastproject.mediapackage.MediaPackageElementFlavor) */ @Override public Track[] getTracks(MediaPackageElementFlavor flavor) { if (flavor == null) throw new IllegalArgumentException("Unable to filter by null criterion"); // Go through tracks and remove those that don't match Collection<Track> tracks = loadTracks(); List<Track> candidates = new ArrayList<Track>(tracks); for (Track a : tracks) { if (a.getFlavor() == null || !a.getFlavor().matches(flavor)) { candidates.remove(a); } } return candidates.toArray(new Track[candidates.size()]); }
/** * {@inheritDoc} * * @see org.opencastproject.mediapackage.MediaPackage#getTracks(org.opencastproject.mediapackage.MediaPackageElementFlavor, * org.opencastproject.mediapackage.MediaPackageReference) */ @Override public Track[] getTracks(MediaPackageElementFlavor flavor, MediaPackageReference reference) { if (flavor == null) throw new IllegalArgumentException("Unable to filter by null criterion"); if (reference == null) throw new IllegalArgumentException("Unable to filter by null reference"); // Go through tracks and remove those that don't match Collection<Track> tracks = loadTracks(); List<Track> candidates = new ArrayList<Track>(tracks); for (Track a : tracks) { if (!flavor.equals(a.getFlavor()) || !reference.matches(a.getReference())) { candidates.remove(a); } } return candidates.toArray(new Track[candidates.size()]); }
/** * Returns a track or a number of tracks from the media package that together contain audio and video. If no such * combination can be found, e. g. there is no audio or video at all, an empty array is returned. * * @see org.opencastproject.mediapackage.selector.AbstractMediaPackageElementSelector#select(org.opencastproject.mediapackage.MediaPackage, boolean) */ @Override public Collection<Track> select(MediaPackage mediaPackage, boolean withTagsAndFlavors) { // instead of relying on the broken superclass, we'll inspect every track // Collection<Track> candidates = super.select(mediaPackage); Collection<Track> candidates = Arrays.asList(mediaPackage.getTracks()); Set<Track> result = new HashSet<Track>(); boolean foundAudio = false; // Look for a track containing audio for (Track t : candidates) { if (t.hasAudio() && !foundAudio && (audioFlavor == null || audioFlavor.equals(t.getFlavor()))) { result.add(t); foundAudio = true; } } return result; }
/** * Returns a track or a number of tracks from the media package that together contain video and video. If no such * combination can be found, e. g. there is no video or video at all, an empty array is returned. * * @see org.opencastproject.mediapackage.selector.AbstractMediaPackageElementSelector#select(org.opencastproject.mediapackage.MediaPackage, boolean) */ @Override public Collection<Track> select(MediaPackage mediaPackage, boolean withTagsAndFlavors) { // instead of relying on the broken superclass, we'll inspect every track // Collection<Track> candidates = super.select(mediaPackage); Set<Track> result = new HashSet<Track>(); boolean foundVideo = false; // Look for a track containing video for (Track t : mediaPackage.getTracks()) { if (t.hasVideo() && !foundVideo && (videoFlavor == null || videoFlavor.equals(t.getFlavor()))) { result.add(t); foundVideo = true; } } return result; }
result.add(t); } else { if (audioFlavor != null && t.hasAudio() && audioFlavor.matches(t.getFlavor()) && !(videoFlavor == null && t.hasVideo())) { foundAudio = true; result.add(t); if (videoFlavor != null && t.hasVideo() && videoFlavor.matches(t.getFlavor()) && !(audioFlavor == null && t.hasAudio())) { foundVideo = true;
waveformFileUri, Type.Attachment, track.getFlavor()); waveformMpe.setIdentifier(IdBuilderFactory.newInstance().newIdBuilder().createNew().compact()); return waveformMpe;
try { URI originalTrackUrl = originalTrack.getURI(); MediaPackageElementFlavor flavor = originalTrack.getFlavor(); logger.debug("enrich(" + originalTrackUrl + ") called");