Commit be3d8556 by 鲁志-悦动

缓存视频流的播放

parent b99a49b6
......@@ -124,4 +124,29 @@
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ToggleButtonStyle" TargetType="{x:Type ToggleButton}">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Foreground" Value="White" />
<Setter Property="FontSize" Value="16" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Grid x:Name="border" Background="#aa303d54">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
<Rectangle
Height="1"
VerticalAlignment="Bottom"
Fill="#ff181f2a" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="border" Property="Background" Value="#ff303d54" />
<Setter Property="Foreground" Value="LightGray" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
\ No newline at end of file
......@@ -24,6 +24,7 @@
<ResourceDictionary Source="/VIZ.Framework.Common.Resource;component/Style/ListBox/ListBox_None.xaml" />
<ResourceDictionary Source="/VIZ.FGOUT.Module.Resource;component/Style/CheckBox/CheckBox_Setting.xaml" />
<ResourceDictionary Source="/VIZ.FGOUT.Module.Resource;component/Style/Button/Button_Setting.xaml" />
<ResourceDictionary Source="/VIZ.FGOUT.Module.Resource;component/Style/ToogleButton/ToogleButton_Setting.xaml" />
</ResourceDictionary.MergedDictionaries>
<fcore:ByteSizeConverter
x:Key="ByteSizeConverter"
......@@ -112,6 +113,7 @@
<Grid Grid.Row="1" Margin="40,0,40,10">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="30" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
......@@ -121,9 +123,17 @@
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<WrapPanel
<!--<Slider
Grid.Row="1"
Width="740"
Height="90"
Margin="90,0,0,0"
IsMoveToPointEnabled="True"
Maximum="150"
TickFrequency="1"
TickPlacement="BottomRight" />-->
<WrapPanel
Grid.Row="2"
Grid.Column="1"
Margin="135,0,0,0">
<Grid>
......@@ -170,9 +180,8 @@
</GroupBox>
</Grid>
</WrapPanel>
<WrapPanel
Grid.Row="1"
Grid.Row="2"
Grid.Column="0"
Margin="0,0,40,0"
HorizontalAlignment="Right">
......@@ -198,14 +207,23 @@
Content="音视频停止命令"
Style="{StaticResource Button_Setting}" />
<Button
<!--<Button
Grid.Column="1"
Width="100" IsEnabled="{Binding ReplayEnable, Mode=TwoWay}"
Width="100"
Height="40"
Margin="10"
Command="{Binding ReplayCommand}"
Content="Replay"
Style="{StaticResource Button_Setting}" />
IsEnabled="{Binding ReplayEnable, Mode=TwoWay}"
Style="{StaticResource Button_Setting}" />-->
<ToggleButton
Grid.Column="1"
Width="100"
Height="40"
Margin="10"
Content="Replay"
IsEnabled="{Binding ReplayEnable, Mode=TwoWay}"
Style="{StaticResource ToggleButtonStyle}" />
<CheckBox
Grid.Column="2"
......@@ -297,7 +315,6 @@
</Grid>
</WrapPanel>
<local:NDIView
x:Name="cam1"
Grid.Row="0"
......@@ -611,7 +628,6 @@
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
<StackPanel
Grid.Column="4"
HorizontalAlignment="Center"
......
......@@ -491,8 +491,8 @@ namespace VIZ.FGOUT.Module
lock (GlobalUsedPorts)
{
//string ip = clientIP;
string ip = "192.168.31.70";
string ip = clientIP;
//string ip = "192.168.31.70";
int port = 8001;
//NetHelper.GetAvailableUdpPort(8200, 9200, GlobalUsedPorts);
GlobalUsedPorts.Add(port);
......
......@@ -286,7 +286,6 @@ namespace VIZ.FGOUT.Module
if(!polygonsInvalid.Contains(points))
polygonsInvalid.Add(points);
}
polygon = null;
}
}
......
......@@ -125,6 +125,8 @@ namespace VIZ.FGOUT.Module
DataStream clonedStream = new DataStream((int)originalStream.Length, true, true);
// 读取原始数据并写入到新的 DataStream 对象
byte[] buffer = new byte[originalStream.Length];
originalStream.Read(buffer, 0, buffer.Length);
originalStream.Position = 0;
clonedStream.Write(buffer, 0, buffer.Length);
// 重新设置新的 DataStream 对象的 Position 属性
clonedStream.Position = 0;
......@@ -160,18 +162,31 @@ namespace VIZ.FGOUT.Module
Queue<DataStreamExtend> buffer = _frameBuffer.GetFrames();
if (buffer.Count > 0)
{
var dse = buffer.Dequeue();
// 更新画面
view.video.UpdateVideoFrame(buffer.Dequeue());
view.video.UpdateVideoFrame(dse);
}
else
view.vm.IsReplay = false;
//// 更新画面
//view.video.UpdateVideoFrame(e.Frame);
}
else
{
//缓存策略
//index = 0;
//Stream videoStream = e.Frame.DataStream;
//videoStream.CopyTo(videoBuffer);
//缓存策略
dsExtend.DataStream = DeepCloneDataStream(e.Frame.DataStream);
dsExtend.Length = e.Frame.Length;
dsExtend.Width = e.Frame.Width;
dsExtend.Height = e.Frame.Height;
dsExtend.TimeStamp = e.Frame.TimeStamp;
_frameBuffer.AddFrame(dsExtend);
//时间戳获取
timecode = e.Frame.TimeStamp;
// 更新画面
......@@ -183,14 +198,6 @@ namespace VIZ.FGOUT.Module
//};
//args.Frame.DataStream = DeepCloneDataStream(e.Frame.DataStream);
//dsExtend.DataStream = DeepCloneDataStream(e.Frame.DataStream);
//dsExtend.Length = e.Frame.Length;
//dsExtend.Width = e.Frame.Width;
//dsExtend.Height = e.Frame.Height;
////dsExtend.TimeStamp = e.Frame.TimeStamp;
//_frameBuffer.AddFrame(dsExtend);
// 更新手动裁切框
// 仅手动模式下处理 & 居中模式下处理 & 需要进行裁切 时才处理
if ((this.StrategyMode == AlgorithmStrategyMode.center_mode || this.StrategyMode == AlgorithmStrategyMode.manual_mode) && this.IsUseClip)
......
using System;
using SharpDX.Mathematics.Interop;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using log4net;
using SharpDX.Mathematics.Interop;
using VIZ.FGOUT.Common;
using VIZ.FGOUT.Domain;
using VIZ.FGOUT.Storage;
using VIZ.Framework.Common;
using VIZ.Framework.Core;
using VIZ.Framework.Storage;
using VIZ.FGOUT.Domain;
using VIZ.FGOUT.Storage;
using VIZ.FGOUT.Common;
namespace VIZ.FGOUT.Module
......
......@@ -326,7 +326,7 @@ namespace VIZ.FGOUT.Module
if (manager == null)
return;
manager.SendJson(package);
MessageBoxEx.ShowDialog("发送成功");
MessageBoxEx.ShowDialog("发送成功 IP = " + manager.IP + " Port =" + manager.Port);
}
private List<List<List<int>>> Coordinate(List<PointCollection> points, double srcWidth, double srcHeight)
......
using Newtonsoft.Json;
using System.Collections.Generic;
using System.IO.Packaging;
using System.Linq;
using System.Xml.Linq;
using VIZ.FGOUT.Connection.UDP.Clip.Signal.Send;
using VIZ.FGOUT.Domain;
using VIZ.FGOUT.Storage;
using VIZ.Framework.Connection;
using VIZ.Framework.Core;
......
#pragma checksum "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "0B309E3F95FE48A88A7C889AA393045A6B4CE3C6BEE153A0005C54FD0A0F5904"
#pragma checksum "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "D1EE276BCF9FF79DDA3CB0BA74E3A30E55EDABD3082E4ACBD16AD83A17821625"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
......@@ -50,7 +50,7 @@ namespace VIZ.FGOUT.Module {
public partial class NDIMainView : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
#line 65 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
#line 66 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox tbFocus;
......@@ -58,7 +58,7 @@ namespace VIZ.FGOUT.Module {
#line hidden
#line 302 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
#line 319 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal VIZ.FGOUT.Module.NDIView cam1;
......@@ -66,7 +66,7 @@ namespace VIZ.FGOUT.Module {
#line hidden
#line 320 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
#line 337 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal VIZ.FGOUT.Module.NDIView cam2;
......
#pragma checksum "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "0B309E3F95FE48A88A7C889AA393045A6B4CE3C6BEE153A0005C54FD0A0F5904"
#pragma checksum "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "D1EE276BCF9FF79DDA3CB0BA74E3A30E55EDABD3082E4ACBD16AD83A17821625"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
......@@ -50,7 +50,7 @@ namespace VIZ.FGOUT.Module {
public partial class NDIMainView : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
#line 65 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
#line 66 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox tbFocus;
......@@ -58,7 +58,7 @@ namespace VIZ.FGOUT.Module {
#line hidden
#line 302 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
#line 319 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal VIZ.FGOUT.Module.NDIView cam1;
......@@ -66,7 +66,7 @@ namespace VIZ.FGOUT.Module {
#line hidden
#line 320 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
#line 337 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal VIZ.FGOUT.Module.NDIView cam2;
......

D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\obj\x64\Debug\GeneratedInternalTypeHelper.g.cs
FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIMainView\View\NDIMainView.xaml;;
FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIPreviewView\View\NDIPreviewView.xaml;;
......
......@@ -70,7 +70,7 @@ NAVIGATION3D_PROFILE_NAME=VIZ.H2V
; ============================================================
[UDP]
;UDP本机绑定IP, 如果该值不配置,那么会获取本机的第一个IPV4地址
UDP_BINDING_IP=192.168.31.33
;UDP_BINDING_IP=192.168.31.33
;UDP本机绑定端口
UDP_BINDING_PORT=8100
; ============================================================
......
......@@ -70,7 +70,7 @@ NAVIGATION3D_PROFILE_NAME=VIZ.H2V
; ============================================================
[UDP]
;UDP本机绑定IP, 如果该值不配置,那么会获取本机的第一个IPV4地址
UDP_BINDING_IP=192.168.31.33
;UDP_BINDING_IP=192.168.31.33
;UDP本机绑定端口
UDP_BINDING_PORT=8100
; ============================================================
......
......@@ -239,7 +239,6 @@
<Compile Include="VideoControl\Control\Plugin\ManualCorrection\Info\ManualCorrectionInfo.cs" />
<Compile Include="VideoControl\Control\Plugin\ManualCorrection\ManualCorrectionPlugin.cs" />
<Compile Include="VideoControl\Control\Plugin\TrackingBox\Enum\TrackingBoxStyle.cs" />
<Compile Include="VideoControl\Control\VideoRenderInfoNew.cs" />
<Compile Include="VideoControl\Recording\VideoControlRecordingFrame.cs" />
<Compile Include="VideoControl\Recording\VideoControlRecording.cs" />
<Compile Include="VideoControl\Stream\BMDStream\BMDStream.cs" />
......
using SharpDX.Direct2D1;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.Framework.Common
namespace VIZ.Framework.Common
{
/// <summary>
/// 视频插件
......
......@@ -8,15 +8,14 @@
mc:Ignorable="d" x:Name="uc"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<converter:Bool2VisibilityConverter x:Key="Bool2VisibilityConverter"></converter:Bool2VisibilityConverter>
<converter:Bool2VisibilityConverter x:Key="Bool2VisibilityConverter"/>
</UserControl.Resources>
<Grid>
<common:VideoCustomRender x:Name="videoRender"></common:VideoCustomRender>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="5,5,0,0" IsHitTestVisible="False"
Visibility="{Binding Path=IsShowFPS,ElementName=uc,Converter={StaticResource Bool2VisibilityConverter}}">
<TextBlock Text="FPS:" Foreground="Red" FontSize="24"></TextBlock>
<TextBlock Text="{Binding ElementName=videoRender,Path=Fps}" Foreground="Red" FontSize="24" Margin="10,0,0,0"></TextBlock>
<TextBlock Text="FPS:" Foreground="Red" FontSize="24"/>
<TextBlock Text="{Binding ElementName=videoRender,Path=Fps}" Foreground="Red" FontSize="24" Margin="10,0,0,0"/>
</StackPanel>
</Grid>
</UserControl>
......@@ -54,11 +54,6 @@ namespace VIZ.Framework.Common
this.videoRender?.UpdateVideoFrame(videoFrame);
}
public void UpdateVideoFrameNew(DataStreamExtend videoFrame)
{
this.videoRender?.UpdateVideoFrameNew(videoFrame);
}
/// <summary>
/// 清理视频帧
/// </summary>
......
......@@ -52,11 +52,6 @@ namespace VIZ.Framework.Common
internal volatile VideoRenderInfo RenderInfo;
/// <summary>
/// 待渲染信息
/// </summary>
internal volatile VideoRenderInfoNew RenderInfoNew;
/// <summary>
/// 插件集合
/// </summary>
internal List<IVideoPlugin> Plugins = new List<IVideoPlugin>();
......@@ -113,39 +108,6 @@ namespace VIZ.Framework.Common
}
}
/// <summary>
/// 更新视频帧
/// </summary>
/// <param name="videoFrame">视频帧</param>
public void UpdateVideoFrameNew(DataStreamExtend videoFrame)
{
if (videoFrame == null)
{
this.RenderInfo = null;
return;
}
// ----------------------------------------------------------------------------------------
// 计算绘制区域与大小
ImageHelper.AdjustSize((int)this.ActualWidth, (int)this.ActualHeight, videoFrame.Width, videoFrame.Height, out int width, out int height);
int x = (int)((this.ActualWidth - width) / 2);
int y = (int)((this.ActualHeight - height) / 2);
// ----------------------------------------------------------------------------------------
// 绘制信息
VideoRenderInfoNew info = new VideoRenderInfoNew();
info.Frame = videoFrame;
info.ControlRect = new Rect(0, 0, this.ActualWidth, this.ActualHeight);
info.DrawingRect = new Rect(x, y, width, height);
lock (this.render_lock_object_new)
{
this.RenderInfoNew?.Dispose();
this.RenderInfoNew = info;
}
}
// ========================================================================================================
/// <summary>
......@@ -208,9 +170,9 @@ namespace VIZ.Framework.Common
if (context.VideoRenderInfo.Frame.DataStream == null)
return;
BitmapProperties properties = new BitmapProperties(new SharpDX.Direct2D1.PixelFormat(Format.B8G8R8A8_UNorm, SharpDX.Direct2D1.AlphaMode.Premultiplied));
BitmapProperties properties = new BitmapProperties(new PixelFormat(Format.B8G8R8A8_UNorm, SharpDX.Direct2D1.AlphaMode.Premultiplied));
SharpDX.Size2 size = new SharpDX.Size2(context.VideoRenderInfo.Frame.Width, context.VideoRenderInfo.Frame.Height);
SharpDX.Direct2D1.Bitmap bmp = new SharpDX.Direct2D1.Bitmap(context.Target, size, context.VideoRenderInfo.Frame.DataStream, context.VideoRenderInfo.Frame.Width * 4, properties);
Bitmap bmp = new Bitmap(context.Target, size, context.VideoRenderInfo.Frame.DataStream, context.VideoRenderInfo.Frame.Width * 4, properties);
if (context.Mode == VideoRenderMode.UI)
{
......@@ -218,7 +180,7 @@ namespace VIZ.Framework.Common
}
else
{
SharpDX.Mathematics.Interop.RawRectangleF rect = new SharpDX.Mathematics.Interop.RawRectangleF(0, 0, context.VideoRenderInfo.Frame.Width, context.VideoRenderInfo.Frame.Height);
RawRectangleF rect = new RawRectangleF(0, 0, context.VideoRenderInfo.Frame.Width, context.VideoRenderInfo.Frame.Height);
context.Target.DrawBitmap(bmp, rect, 1f, BitmapInterpolationMode.Linear, null);
}
bmp.Dispose();
......
using SharpDX.Direct2D1;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.Framework.Common
{
......
using System.Windows;
namespace VIZ.Framework.Common
{
/// <summary>
/// 视频渲染信息
/// </summary>
public class VideoRenderInfoNew
{
/// <summary>
/// 视频帧信息
/// </summary>
public DataStreamExtend Frame { get; set; }
/// <summary>
/// 渲染区域
/// </summary>
public Rect DrawingRect { get; set; }
/// <summary>
/// 控件区域
/// </summary>
public Rect ControlRect { get; set; }
/// <summary>
/// 该对象是否已经被销毁
/// </summary>
private bool IsDisopsed { get; set; }
/// <summary>
/// 销毁
/// </summary>
public void Dispose()
{
if (this.IsDisopsed)
return;
this.IsDisopsed = true;
this.Frame?.Dispose();
}
}
}
......@@ -23,11 +23,11 @@ namespace VIZ.Framework.Common
/// 画面数据
/// </summary>
public DataStream DataStream { get; set; }
public long TimeStamp => throw new System.NotImplementedException();
public long TimeStamp { get; set; }
public void Dispose()
{
DataStream?.Dispose();
}
}
}
using SharpDX;
using SharpDX.Mathematics.Interop;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenCvSharp;
using OpenCvSharp;
namespace VIZ.Framework.Common
{
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.Framework.Common
namespace VIZ.Framework.Common
{
/// <summary>
/// 视频控件对齐
......@@ -14,6 +8,6 @@ namespace VIZ.Framework.Common
/// <summary>
/// 时间戳
/// </summary>
long TimeStamp { get; }
long TimeStamp { get; set; }
}
}
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace XamlGeneratedNamespace {
/// <summary>
/// GeneratedInternalTypeHelper
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper {
/// <summary>
/// CreateInstance
/// </summary>
protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) {
return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic)
| (System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.CreateInstance)), null, null, culture);
}
/// <summary>
/// GetPropertyValue
/// </summary>
protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) {
return propertyInfo.GetValue(target, System.Reflection.BindingFlags.Default, null, null, culture);
}
/// <summary>
/// SetPropertyValue
/// </summary>
protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) {
propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.Default, null, null, culture);
}
/// <summary>
/// CreateDelegate
/// </summary>
protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) {
return ((System.Delegate)(target.GetType().InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod
| (System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)), null, target, new object[] {
delegateType,
handler}, null)));
}
/// <summary>
/// AddEventHandler
/// </summary>
protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) {
eventInfo.AddEventHandler(target, handler);
}
}
}

83945b25462b29a76c9332746f72d84140edf918
142fe4532f7e8b6a04c09d8705399ba4e2ebc25e
......@@ -12,7 +12,7 @@ DEBUG;TRACE
15488264905
121-429615138
120494897808
442047738191
MessageBox\MessageBoxEx.xaml;MessageBox\MessageBoxExWindow.xaml;Themes\Generic.xaml;VideoControl\Control\VideoControl.xaml;Widgets\ColorPickButton\ColorPickButton.xaml;Widgets\ColorPickButton\ColorPickWindow.xaml;Widgets\GPIOPinTestControl\GPIOPinTestControl.xaml;Widgets\HotkeyBox\HotkeyBox.xaml;Widgets\IconButton\IconButton.xaml;Widgets\LabelValue\LabelValue.xaml;Widgets\NavigationControl\NavigationControl.xaml;Widgets\ResizeImageControl\ResizeImageControl.xaml;Widgets\ShowMessageControl\ShowMessageControl.xaml;Widgets\VideoTimeBar\VideoTimeBar.xaml;Widgets\ViewLoader\ViewLoader.xaml;
......

D:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\obj\x64\Debug\GeneratedInternalTypeHelper.g.cs
FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\MessageBox\MessageBoxEx.xaml;;
FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\MessageBox\MessageBoxExWindow.xaml;;
......
#pragma checksum "..\..\..\..\..\VideoControl\Control\VideoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "5E3DA9AEE0D24A6D46F37BFC324D055A7414A9AC733E895B83093D9227BB4785"
#pragma checksum "..\..\..\..\..\VideoControl\Control\VideoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "E9BE7A5C0BA1CE92DB7B54C857968E6F392923CB7949157C6CC6988F524A90DB"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
......
#pragma checksum "..\..\..\..\..\VideoControl\Control\VideoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "5E3DA9AEE0D24A6D46F37BFC324D055A7414A9AC733E895B83093D9227BB4785"
#pragma checksum "..\..\..\..\..\VideoControl\Control\VideoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "E9BE7A5C0BA1CE92DB7B54C857968E6F392923CB7949157C6CC6988F524A90DB"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
......
7778f4f222d616369336429c96e8b4a996e6ea42
cc6ac8d24f7c854088bbde40ffba72e5277babac
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment