/// <summary> /// Simple constructor /// </summary> private Configuration() { _playbackQualityMode = VIDEOENCODER_BITRATE_MODE.ConstantBitRate; _recordQualityMode = VIDEOENCODER_BITRATE_MODE.ConstantBitRate; _playbackQualityType = QualityType.Default; _recordQualityType = QualityType.Default; _customQualityValue = 50; _customPeakQualityValue = 75; }
/// <summary> /// Called when record starts /// </summary> public void StartRecord() { if (_configuration != null) { _bitRateMode = _configuration.RecordQualityMode; _qualityType = _configuration.RecordQualityType; } else { _bitRateMode = VIDEOENCODER_BITRATE_MODE.ConstantBitRate; _qualityType = QualityType.Default; } ApplyQuality(); }
/// <summary> /// Called when playback starts /// </summary> public void StartPlayback() { if (_configuration != null) { _bitRateMode = _configuration.PlaybackQualityMode; _qualityType = _configuration.PlaybackQualityType; } else { _bitRateMode = VIDEOENCODER_BITRATE_MODE.NotSet; _qualityType = QualityType.Default; } ApplyQuality(); }
public static void OnSetQuality(Schedule rec) { GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)Window.WINDOW_DIALOG_MENU); if (dlg != null) { dlg.Reset(); dlg.SetHeading(882); dlg.ShowQuickNumbers = true; dlg.AddLocalizedString(968); dlg.AddLocalizedString(965); dlg.AddLocalizedString(966); dlg.AddLocalizedString(967); VIDEOENCODER_BITRATE_MODE _newBitRate = rec.BitRateMode; switch (_newBitRate) { case VIDEOENCODER_BITRATE_MODE.NotSet: dlg.SelectedLabel = 0; break; case VIDEOENCODER_BITRATE_MODE.ConstantBitRate: dlg.SelectedLabel = 1; break; case VIDEOENCODER_BITRATE_MODE.VariableBitRateAverage: dlg.SelectedLabel = 2; break; case VIDEOENCODER_BITRATE_MODE.VariableBitRatePeak: dlg.SelectedLabel = 3; break; } dlg.DoModal(GUIWindowManager.ActiveWindow); if (dlg.SelectedLabel == -1) { return; } switch (dlg.SelectedLabel) { case 0: // Not Set _newBitRate = VIDEOENCODER_BITRATE_MODE.NotSet; break; case 1: // CBR _newBitRate = VIDEOENCODER_BITRATE_MODE.ConstantBitRate; break; case 2: // VBR _newBitRate = VIDEOENCODER_BITRATE_MODE.VariableBitRateAverage; break; case 3: // VBR Peak _newBitRate = VIDEOENCODER_BITRATE_MODE.VariableBitRatePeak; break; } rec.BitRateMode = _newBitRate; rec.Persist(); dlg.Reset(); dlg.SetHeading(882); dlg.ShowQuickNumbers = true; dlg.AddLocalizedString(968); dlg.AddLocalizedString(886); //Default dlg.AddLocalizedString(993); // Custom dlg.AddLocalizedString(893); //Portable dlg.AddLocalizedString(883); //Low dlg.AddLocalizedString(884); //Medium dlg.AddLocalizedString(885); //High QualityType _newQuality = rec.QualityType; switch (_newQuality) { case QualityType.NotSet: dlg.SelectedLabel = 0; break; case QualityType.Default: dlg.SelectedLabel = 1; break; case QualityType.Custom: dlg.SelectedLabel = 2; break; case QualityType.Portable: dlg.SelectedLabel = 3; break; case QualityType.Low: dlg.SelectedLabel = 4; break; case QualityType.Medium: dlg.SelectedLabel = 5; break; case QualityType.High: dlg.SelectedLabel = 6; break; } dlg.DoModal(GUIWindowManager.ActiveWindow); if (dlg.SelectedLabel == -1) { return; } switch (dlg.SelectedLabel) { case 0: // Not Set _newQuality = QualityType.NotSet; break; case 1: // Default _newQuality = QualityType.Default; break; case 2: // Custom _newQuality = QualityType.Custom; break; case 3: // Protable _newQuality = QualityType.Portable; break; case 4: // Low _newQuality = QualityType.Low; break; case 5: // Medium _newQuality = QualityType.Medium; break; case 6: // High _newQuality = QualityType.High; break; } rec.QualityType = _newQuality; rec.Persist(); } TvServer server = new TvServer(); server.OnNewSchedule(); }
/// <summary> /// Sets the bitrate mode /// </summary> /// <param name="cardId">Unique id of the card</param> /// <param name="bitRateMode">The new bitrate mdoe</param> public void SetBitRateMode(int cardId, VIDEOENCODER_BITRATE_MODE bitRateMode) { if (ValidateTvControllerParams(cardId) || !SupportsQualityControl(cardId)) return; IQuality qualityControl = _cards[cardId].Card.Quality; if (qualityControl != null) { qualityControl.BitRateMode = bitRateMode; } }