public override TsDescriptor Create(byte[] buffer, int offset, int length) { if (length < 4) { return((TsDescriptor)null); } int index = offset; TsIso639LanguageDescriptor.Language[] languages = new TsIso639LanguageDescriptor.Language[length / 4]; int num = 0; while (length >= 4) { string @string = this._latin1.GetString(buffer, index, 3); byte audioType = buffer[3]; languages[num++] = new TsIso639LanguageDescriptor.Language(@string, audioType); index += 4; length -= 4; } return((TsDescriptor) new TsIso639LanguageDescriptor(languages)); }
public override TsDescriptor Create(byte[] buffer, int offset, int length) { if (length < BlockLength) return null; var i = offset; var languages = new TsIso639LanguageDescriptor.Language[length / BlockLength]; var languageIndex = 0; while (length >= BlockLength) { var language = _latin1.GetString(buffer, i, 3); var audio_type = buffer[3]; languages[languageIndex++] = new TsIso639LanguageDescriptor.Language(language, audio_type); i += BlockLength; length -= BlockLength; } return new TsIso639LanguageDescriptor(languages); }