예제 #1
0
 private void ValidateAsfWriterIsSuitable(IBaseFilter asfWriterFilter)
 {
     foreach (PinQueryInfo info in FilterGraphTools.EnumeratePins(asfWriterFilter))
     {
         if (info.Name.StartsWith(AudioInputPinName))
         {
             if (!_timeline.Groups.Exists(delegate(IGroup group)
             {
                 return(group.Type == GroupType.Audio);
             }))
             {
                 throw new SplicerException(
                           "The selected windows media profile encodes audio information, yet no audio group exists");
             }
         }
         else if (info.Name.StartsWith(VideoInputPinName))
         {
             if (!_timeline.Groups.Exists(delegate(IGroup group)
             {
                 return(group.Type == GroupType.Video);
             }))
             {
                 throw new SplicerException(
                           "The selected windows media profile encodes video information, yet no video group exists");
             }
         }
     }
 }
예제 #2
0
 private void ValidateAsfWriterIsSuitable(IBaseFilter asfWriterFilter)
 {
     foreach (PinQueryInfo info in FilterGraphTools.EnumeratePins(asfWriterFilter))
     {
         if (info.Name.StartsWith(Resources.AudioInputPinNamePrefix))
         {
             if (!Timeline.Groups.Exists(delegate(IGroup group) { return(group.Type == GroupType.Audio); }))
             {
                 throw new SplicerException(Resources.ErrorWMProfileRequiresAudioGroup);
             }
         }
         else if (info.Name.StartsWith(Resources.VideoInputPinNamePrefix))
         {
             if (!Timeline.Groups.Exists(delegate(IGroup group) { return(group.Type == GroupType.Video); }))
             {
                 throw new SplicerException(Resources.ErrorWMProfileRequiresVideoGroup);
             }
         }
     }
 }