Exemplo n.º 1
0
 public static PIffTrackMediaInfo CreateAudio(
     PiffAudioManifest audio, DateTime created, long duration, int timeScale, Guid keyId)
 {
     return(new PIffTrackMediaInfo(
                new PiffMediaHeader(created, duration, timeScale),
                new PiffHandlerType(PiffTrackTypes.Audio),
                PiffMediaInformation.CreateAudio(audio, keyId)));
 }
Exemplo n.º 2
0
        public PiffProtectedAudioSampleEntry(PiffAudioManifest audio, Guid keyId)
        {
            if (audio.Channels != 2)
            {
                throw new ArgumentException("AudioSampleEntry must have 2 channels.");
            }

            if (audio.CodecId != "AACL")
            {
                throw new ArgumentException($"Cannot process codec '{audio.CodecId}', only 'AACL' is supported.");
            }

            ChannelCount      = audio.Channels;
            SampleSize        = audio.BitsPerSample;
            SampleRate        = ((uint)audio.SamplingRate) << 16;
            Scheme            = PiffProtectionSchemeInformation.CreateAudio(audio.CodecId, keyId);
            StreamDescription = PiffElementaryStreamDescription.Create(
                audio.CodecId, 0, audio.BitRate, BufferSize, audio.CodecData);
        }
Exemplo n.º 3
0
 public static PiffMediaInformation CreateAudio(PiffAudioManifest audio, Guid keyId)
 {
     return(new PiffMediaInformation(new PiffSoundMediaHeader(),
                                     null,
                                     PiffSampleTable.CreateAudio(audio, keyId)));
 }
Exemplo n.º 4
0
 public static PiffTrack CreateAudio(
     int trackId, PiffAudioManifest audio, DateTime created, int timeScale, Guid keyId)
 {
     return(new PiffTrack(PiffTrackHeader.CreateAudio(trackId, created, audio.Duration),
                          PIffTrackMediaInfo.CreateAudio(audio, created, audio.Duration, timeScale, keyId)));
 }
Exemplo n.º 5
0
 public static PiffSampleTable CreateAudio(PiffAudioManifest audio, Guid keyId)
 {
     return(new PiffSampleTable(PiffSampleDescription.CreateAudio(audio, keyId)));
 }
Exemplo n.º 6
0
 public static PiffSampleDescription CreateAudio(PiffAudioManifest audio, Guid keyId)
 {
     return(new PiffSampleDescription(
                new PiffProtectedAudioSampleEntry(audio, keyId),
                null));
 }