public async Task <OnVifCameraProfile> getVideoEncodingInternalAsync(int nProfileIdx) { OnVifCameraProfile profile = getOnVifProfile(nProfileIdx); if (profile == null) { return(profile); } if (this.m_OnVif1Media != null) { Profile cameaProfile = getCamera1Profile(nProfileIdx); if (cameaProfile == null) { return(profile); } if (cameaProfile.VideoEncoderConfiguration == null) { return(profile); } var videoEncoderConfiguration = await this.m_OnVif1Media.getVideoEncodingsAsync(cameaProfile.VideoEncoderConfiguration.token); if (videoEncoderConfiguration != null) { profile.VideoProfileEncoding.VideoEncoderConfiguration = videoEncoderConfiguration; profile.VideoProfileEncoding.VideoEncoder2Configuration = null; } } else if (this.m_OnVif2Media != null) { MediaProfile cameaProfile = getCamera2Profile(nProfileIdx); if (cameaProfile == null) { return(profile); } if (cameaProfile.Configurations == null) { return(profile); } if (cameaProfile.Configurations.VideoEncoder == null) { return(profile); } // var videoEncoderConfiguration = await this.m_OnVif2Media.getVideoEncodingsAsync(cameaProfile.Configurations.VideoEncoder.token); var videoEncoderConfiguration = await this.m_OnVif2Media.getVideoEncodingsAsync(cameaProfile.Configurations.VideoEncoder.token, cameaProfile.token); if (videoEncoderConfiguration != null) { profile.VideoProfileEncoding.VideoEncoderConfiguration = null; profile.VideoProfileEncoding.VideoEncoder2Configuration = videoEncoderConfiguration.Configurations; } } return(profile); }
public async Task <OnVifCameraProfile> getVideoEncodingConfigurationOptionsInternalAsync(int nProfileIdx) { OnVifCameraProfile profile = getOnVifProfile(nProfileIdx); if (profile == null) { return(profile); } if (this.m_OnVif1Media != null) { Profile cameaProfile = getCamera1Profile(nProfileIdx); if (cameaProfile == null) { return(profile); } if (cameaProfile.VideoEncoderConfiguration == null) { return(profile); } var videoEncoderConfiguration = await this.m_OnVif1Media.getVideoEncodingConfigurationOptionsAsync(cameaProfile.VideoEncoderConfiguration.token); if (videoEncoderConfiguration != null) { profile.VideoProfileEncodingConfiguration.VideoEncoder2ConfigurationOptions = null; profile.VideoProfileEncodingConfiguration.VideoEncoderConfigurationOptions = videoEncoderConfiguration; profile.VideoProfileEncodingConfiguration = profile.VideoProfileEncodingConfiguration; // for updating RaisePropertyChanged } } else if (this.m_OnVif2Media != null) { MediaProfile cameaProfile = getCamera2Profile(nProfileIdx); if (cameaProfile == null) { return(profile); } if (cameaProfile.Configurations == null) { return(profile); } if (cameaProfile.Configurations.VideoEncoder == null) { return(profile); } var videoEncoderConfiguration = await this.m_OnVif2Media.getVideoEncodingConfigurationOptionsAsync(cameaProfile.Configurations.VideoEncoder.token, cameaProfile.token); if (videoEncoderConfiguration != null) { profile.VideoProfileEncodingConfiguration.VideoEncoder2ConfigurationOptions = videoEncoderConfiguration.Options; profile.VideoProfileEncodingConfiguration.VideoEncoderConfigurationOptions = null; profile.VideoProfileEncodingConfiguration = profile.VideoProfileEncodingConfiguration; // for updating RaisePropertyChanged } } return(profile); }
public async Task <OnVifCameraProfile> getAudioEncodingConfigurationOptionsInternalAsync(int nProfileIdx) { OnVifCameraProfile profile = getOnVifProfile(nProfileIdx); if (profile == null) { return(profile); } if (this.m_OnVif1Media != null) { Profile cameaProfile = getCamera1Profile(nProfileIdx); if (cameaProfile == null) { return(profile); } if (cameaProfile.AudioEncoderConfiguration == null) { return(profile); } var AudioEncoderConfiguration = await m_OnVif1Media.getAudioEncodingConfigurationOptionsAsync(cameaProfile.AudioEncoderConfiguration.token); if (AudioEncoderConfiguration != null) { profile.AudioProfileEncodingConfiguration.Options = AudioEncoderConfiguration.Options; profile.AudioProfileEncodingConfiguration.Options2 = null;; } } else if (this.m_OnVif2Media != null) { MediaProfile cameaProfile = getCamera2Profile(nProfileIdx); if (cameaProfile == null) { return(profile); } if (cameaProfile.Configurations == null) { return(profile); } if (cameaProfile.Configurations.AudioEncoder == null) { return(profile); } var AudioEncoderConfiguration = await m_OnVif2Media.getAudioEncodingConfigurationOptionsAsync(cameaProfile.Configurations.AudioEncoder.token, cameaProfile.token); if (AudioEncoderConfiguration != null) { profile.AudioProfileEncodingConfiguration.Options = null; profile.AudioProfileEncodingConfiguration.Options2 = AudioEncoderConfiguration.Options; } } return(profile); }
public async Task <IActionResult> CreatePost(MediaProfileViewModel model, string submit) { if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageMediaProfiles)) { return(Forbid()); } if (ModelState.IsValid) { if (String.IsNullOrWhiteSpace(model.Name)) { ModelState.AddModelError(nameof(MediaProfileViewModel.Name), S["The name is mandatory."]); } else { var mediaProfilesDocument = await _mediaProfilesManager.GetMediaProfilesDocumentAsync(); if (mediaProfilesDocument.MediaProfiles.ContainsKey(model.Name)) { ModelState.AddModelError(nameof(MediaProfileViewModel.Name), S["A profile with the same name already exists."]); } } } if (ModelState.IsValid) { var isCustomWidth = model.SelectedWidth != 0 && Array.BinarySearch <int>(_mediaOptions.SupportedSizes, model.SelectedWidth) < 0; var isCustomHeight = model.SelectedHeight != 0 && Array.BinarySearch <int>(_mediaOptions.SupportedSizes, model.SelectedHeight) < 0; var mediaProfile = new MediaProfile { Hint = model.Hint, Width = isCustomWidth ? model.CustomWidth : model.SelectedWidth, Height = isCustomHeight ? model.CustomHeight : model.SelectedHeight, Mode = model.SelectedMode, Format = model.SelectedFormat, Quality = model.Quality, BackgroundColor = model.BackgroundColor }; await _mediaProfilesManager.UpdateMediaProfileAsync(model.Name, mediaProfile); if (submit == "SaveAndContinue") { return(RedirectToAction(nameof(Edit), new { name = model.Name })); } else { return(RedirectToAction(nameof(Index))); } } // If we got this far, something failed, redisplay form BuildViewModel(model); return(View(model)); }
private void MoveMediaFile(MediaProfile media) { var path = media.ArchivePath.StartsWith("/") ? media.ArchivePath : string.Format("{0}/{1}", _uploadFolder, media.ArchivePath); _mediaArchive.EnsureFolderExists(path, MediaArchiveImpl.DefaultFolderTemplate); var targetFolder = _mediaArchive.GetFolder(path); _mediaArchive.MoveFile(media.File.SystemId, targetFolder); }
/// <summary> /// /// </summary> /// <param name="media"></param> /// <returns>true if all products was updates successfully, otherwise false</returns> private bool UpdateProducts(MediaProfile media) { if (media.MediaEntityMappings == null) { return(true); } foreach (var mapping in media.MediaEntityMappings) { var productFieldUpdate = Policy.Handle <DataException>() .WaitAndRetry(MaximumProductUpdateRetries, (retryCount) => TimeSpan.FromSeconds(retryCount)) .ExecuteAndCapture(() => { if (mapping.EntityType == EntityTypeEnum.Variant) { var variant = _variantService.Get(mapping.EntityId)?.MakeWritableClone(); if (variant != null) { SetField(variant.Fields, mapping.FieldId, media.File); _variantService.Update(variant); } } else if (mapping.EntityType == EntityTypeEnum.BaseProduct) { var product = _baseProductService.Get(mapping.EntityId)?.MakeWritableClone(); if (product != null) { SetField(product.Fields, mapping.FieldId, media.File); _baseProductService.Update(product); } } }); if (productFieldUpdate.Outcome == OutcomeType.Failure) { this.Log().ForContext("FileID", media.File.SystemId) .ForContext("FieldID", mapping.FieldId) .ForContext("Filename", media.File.Name) .ForContext("EntityType", mapping.EntityType.ToString()) .ForContext("EntityId", mapping.EntityId) .Error(productFieldUpdate.FinalException, "Could not map media file"); return(false); } } return(true); }
public async Task <IDictionary <string, IList <string> > > ReadMediaUrisAsync(int nProfileIdx) { Dictionary <string, IList <string> > profileUrls = new Dictionary <string, IList <string> >(); OnVifCameraProfile profile = getOnVifProfile(nProfileIdx); if (profile == null) { return(profileUrls); } if (this.m_OnVif1Media != null) { Profile cameaProfile = getCamera1Profile(nProfileIdx); if (cameaProfile == null) { return(profileUrls); } IList <string> urlList = await this.m_OnVif1Media.getStreamURIAsync(cameaProfile.token); if (urlList != null) { profileUrls.Add(cameaProfile.Name, urlList); } } else if (this.m_OnVif2Media != null) { MediaProfile cameaProfile = getCamera2Profile(nProfileIdx); if (cameaProfile == null) { return(profileUrls); } IList <string> urlList = await this.m_OnVif2Media.getStreamURIAsync(cameaProfile.token); if (urlList != null) { profileUrls.Add(cameaProfile.Name, urlList); } } return(profileUrls); }
public void Erase(EraseSettings settings) { if (null == m_device) { throw new BurnerException(NO_DEVICE, NO_DEVICE_TEXT); } MediaProfile mp = m_device.MediaProfile; if (MediaProfile.DvdMinusRwSeq != mp && MediaProfile.DvdMinusRwRo != mp && MediaProfile.CdRw != mp) { throw new BurnerException(ERASE_NOT_SUPPORTED, ERASE_NOT_SUPPORTED_TEXT); } if (m_device.MediaIsBlank && !settings.Force) { return; } m_device.OnErase += new EventHandler <DeviceEraseEventArgs>(Device_Erase); EraseType et = EraseType.Minimal; if (settings.Quick) { et = EraseType.Minimal; } else { et = EraseType.Disc; } bool bRes = m_device.Erase(et); m_device.OnErase -= Device_Erase; if (!bRes) { throw new BurnerException(m_device.Error); } // Refresh to reload disc information m_device.Refresh(); }
public string getProfileName(int nProfileIdx) { if (this.m_OnVif1Media != null) { if (nProfileIdx < this.m_OnVif1Media.ProfilesResponse.Profiles.Length) { Profile ProfileResponse = this.m_OnVif1Media.ProfilesResponse.Profiles[nProfileIdx]; return(ProfileResponse.Name); } } else if (this.m_OnVif2Media != null) { if (nProfileIdx < this.m_OnVif2Media.ProfilesResponse.Profiles.Length) { MediaProfile ProfileResponse = this.m_OnVif2Media.ProfilesResponse.Profiles[nProfileIdx]; return(ProfileResponse.Name); } } return(""); // empty }
public void Format(FormatSettings settings) { if (null == m_device) { throw new BurnerException(NO_DEVICE, NO_DEVICE_TEXT); } MediaProfile mp = m_device.MediaProfile; if (MediaProfile.DvdMinusRwSeq != mp && MediaProfile.DvdMinusRwRo != mp && MediaProfile.DvdPlusRw != mp) { throw new BurnerException(FORMAT_NOT_SUPPORTED, FORMAT_NOT_SUPPORTED_TEXT); } m_device.OnFormat += new EventHandler <DeviceFormatEventArgs>(Device_Format); bool bRes = true; switch (mp) { case MediaProfile.DvdMinusRwRo: if (settings.Quick) { bRes = m_device.Format(FormatType.DvdMinusRwQuick); } else { bRes = m_device.Format(FormatType.DvdMinusRwFull); } break; case MediaProfile.DvdMinusRwSeq: if (settings.Quick) { bRes = m_device.Format(FormatType.DvdMinusRwQuick); } else { bRes = m_device.Format(FormatType.DvdMinusRwFull); } break; case MediaProfile.DvdPlusRw: { BgFormatStatus fmt = m_device.BgFormatStatus; switch (fmt) { case BgFormatStatus.Completed: if (settings.Force) { bRes = m_device.Format(FormatType.DvdPlusRwFull, 0, !settings.Quick); } break; case BgFormatStatus.NotFormatted: bRes = m_device.Format(FormatType.DvdPlusRwFull, 0, !settings.Quick); break; case BgFormatStatus.Partial: bRes = m_device.Format(FormatType.DvdPlusRwRestart, 0, !settings.Quick); break; } } break; } m_device.OnFormat -= Device_Format; if (!bRes) { throw new BurnerException(m_device.Error); } // Refresh to reload disc information m_device.Refresh(); }
public async Task <Boolean> writeAudioEncodingInternalAsync(int nProfileIdx) { OnVifCameraProfile profile = getOnVifProfile(nProfileIdx); if (profile == null) { return(false); } Boolean written = false; if (this.m_OnVif1Media != null) { Profile cameaProfile = getCamera1Profile(nProfileIdx); if (cameaProfile == null) { return(false); } if (cameaProfile.VideoEncoderConfiguration == null) { return(false); } var AudioEncoderConfiguration = await this.m_OnVif1Media.getAudioEncodingsAsync(cameaProfile.VideoEncoderConfiguration.token); if (AudioEncoderConfiguration != null) { AudioEncoderConfiguration.Bitrate = profile.AudioProfileEncoding.Bitrate; AudioEncoderConfiguration.SampleRate = profile.AudioProfileEncoding.SampleRate; written = await this.m_OnVif1Media.SetAudioEncodingsAsync(AudioEncoderConfiguration); profile.IsVideoProfileChanged = written; } } else if (this.m_OnVif2Media != null) { MediaProfile cameaProfile = getCamera2Profile(nProfileIdx); if (cameaProfile == null) { return(false); } if (cameaProfile.Configurations == null) { return(false); } if (cameaProfile.Configurations.AudioEncoder == null) { return(false); } var AudioEncoderConfiguration = await this.m_OnVif2Media.getAudioEncodingsAsync(cameaProfile.Configurations.AudioEncoder.token, cameaProfile.token); if (AudioEncoderConfiguration != null) { OnVifServices.OnvifMedia20.AudioEncoder2Configuration findencoding = null; if (AudioEncoderConfiguration.Configurations.Length > 0) { findencoding = AudioEncoderConfiguration.Configurations[0]; } if (findencoding != null) { findencoding.Bitrate = profile.AudioProfileEncoding.Bitrate; findencoding.SampleRate = profile.AudioProfileEncoding.SampleRate; written = await this.m_OnVif2Media.SetAudioEncodingsAsync(findencoding); profile.IsAudioProfileChanged = written; } } } return(written); }
public async Task <Boolean> writeVideoEncodingInternalAsync(int nProfileIdx) { OnVifCameraProfile profile = getOnVifProfile(nProfileIdx); if (profile == null) { return(false); } Boolean written = false; if (this.m_OnVif1Media != null) { Profile cameaProfile = getCamera1Profile(nProfileIdx); if (cameaProfile == null) { return(false); } var videoEncoderConfiguration = await this.m_OnVif1Media.getVideoEncodingsAsync(cameaProfile.VideoEncoderConfiguration.token); if (videoEncoderConfiguration != null) { videoEncoderConfiguration.Resolution.Height = profile.VideoProfileEncoding.Resolution.Height; videoEncoderConfiguration.Resolution.Width = profile.VideoProfileEncoding.Resolution.Width; videoEncoderConfiguration.RateControl.BitrateLimit = profile.VideoProfileEncoding.BitrateLimit; videoEncoderConfiguration.RateControl.FrameRateLimit = (int)profile.VideoProfileEncoding.FrameRateLimit; videoEncoderConfiguration.RateControl.EncodingInterval = profile.VideoProfileEncoding.EncodingInterval; written = await this.m_OnVif1Media.SetVideoEncodingsAsync(videoEncoderConfiguration); profile.IsVideoProfileChanged = !written; } } else if (this.m_OnVif2Media != null) { MediaProfile cameaProfile = getCamera2Profile(nProfileIdx); if (cameaProfile == null) { return(false); } if (cameaProfile.Configurations == null) { return(false); } if (cameaProfile.Configurations.VideoEncoder == null) { return(false); } var videoEncoderConfiguration = await this.m_OnVif2Media.getVideoEncodingsAsync(cameaProfile.Configurations.VideoEncoder.token, cameaProfile.token); if (videoEncoderConfiguration != null) { OnVifServices.OnvifMedia20.VideoEncoder2Configuration findencoding = null; if (videoEncoderConfiguration.Configurations.Length > 0) { findencoding = videoEncoderConfiguration.Configurations[0]; } if (findencoding != null) { findencoding.GovLength = profile.VideoProfileEncoding.GovLength; findencoding.GovLengthSpecified = profile.VideoProfileEncoding.GovLengthSpecified; findencoding.Resolution.Height = profile.VideoProfileEncoding.Resolution.Height; findencoding.Resolution.Width = profile.VideoProfileEncoding.Resolution.Width; findencoding.RateControl.ConstantBitRateSpecified = profile.VideoProfileEncoding.ConstantBitRateSpecified; findencoding.RateControl.ConstantBitRate = profile.VideoProfileEncoding.ConstantBitRate; findencoding.RateControl.BitrateLimit = profile.VideoProfileEncoding.BitrateLimit; findencoding.RateControl.FrameRateLimit = profile.VideoProfileEncoding.FrameRateLimit; findencoding.Resolution.Height = profile.VideoProfileEncoding.Resolution.Height; findencoding.Resolution.Width = profile.VideoProfileEncoding.Resolution.Width; written = await this.m_OnVif2Media.SetVideoEncodingsAsync(findencoding); profile.IsVideoProfileChanged = !written; } } } return(written); }