应用程序崩溃后向视频堆栈的接入保持的制作方法

文档序号:6419140阅读:270来源:国知局
专利名称:应用程序崩溃后向视频堆栈的接入保持的制作方法
技术领域
本发明涉及使用视频流的计算机系统,特别涉及当使用视频流的应用程序发生崩溃时仍能与视频流保持接入的技术。
计算机系统经常用来为与之相连的电视机或显示器提供电视节目,电视机一般配有电视调谐卡。电视与计算机的结合有很多优势。计算机可以提供方便选择电视节目的软件,例如使用电子节目指南。此外,电视还可以接收包含电视节目并伴随有网络内容的互动式的广播节目。网络内容,其可以与电视节目相关,可以提供更多信息并允许用户回应在电视广播中做出的查询。不仅如此,还可以提供链接,使浏览者连接到与广播公司或广播本身相关的因特网网站。
当应用程序调用电视节目时,应用程序接入一视频堆栈,视频堆栈是处理视频的软件层,其为应用程序提供视频流。如果应用程序在视频流的传输过程中发生崩溃,视频流将不可能被正确的关闭。结果是,没有发生崩溃的应用程序也无法接入视频堆栈。
对于崩溃发生后,随后希望接入视频堆栈的一个应用程序,需要重新启动计算机系统,重新设置视频堆栈,才能与视频堆栈重新建立连接。这对很多计算机用户来说是很不方便的事情,因为计算机用户可能正在其计算机上运行的其他处理,不得不因需要重启计算机而中断。
因此,对电视视频流系统来说,希望当使用视频堆栈的应用程序发生崩溃时,不需要重新启动计算机系统仍能允许对视频堆栈的接入。
依据本发明的一个实施例,一种接入视频流的方法包含当一个第一应用程序请求视频时使用一个视频服务器(video server)来初始化视频流。如果第一应用程序崩溃,通过视频服务器为一个第二应用程序维持对视频流的连接。


图1是依照本发明的一个实施例的具有一个视频服务器和一个视频堆栈的一对应用程序的相互作用的示意图;图2示出了图1所示系统的操作流程图;和图3是实现本发明一个实施例的计算机的方框图。
如图1所示,应用程序与电视视频通过一视频服务器连接,该视频服务器通过一个独立的视频窗来工作,该视频窗的存储地址空间区别于应用程序本身所使用的存储地址空间。视频服务器例如可以是一个电视视频服务器,也可以是一个数字视频盘(DVD)服务器。由方框10表示的应用程序“A”建立一个父视频窗14。该父视频窗14连通至视频服务器18,后者生成父视频窗14的子视频窗19。在实际运行中,父视频窗向子视频窗设定操作,子视频窗再向视频堆栈设定操作。
服务器18由此将视频放入子视频窗19中。子视频窗19处理服务器18与视频堆栈20之间的通信。视频堆栈20例如可以是Video for Windows或DirectShow,两者均来自微软公司。由于视窗14与视窗19运行于计算机存储器中的分离且不同的地址空间,因此如果应用程序A崩溃,如图1所示,电视服务器(TV server)18中的视窗19仍可以被维持。
在现有的计算机系统中,当应用程序A崩溃时,提供视频服务的视窗14也同时崩溃,并使视频堆栈20处于不可用的状态。因此,如果不重新启动计算机的话,另一个试图接入视频服务的应用程序,例如方框12中的应用程序B,就不能进行。
在如图1所示的本发明的具体实施例中,应用程序12可以建立其自身的父视窗14,其继而处理电视服务器18中的视频窗19。应用程序B可以快速地通过服务器18与视频堆栈连接,而不需要考虑应用程序A可能已经崩溃和不能运行的事实。关于服务器18和视窗19中的设置可以继续维持而不受应用程序A的崩溃的影响。
请参考图2,图2是用于实现图1所示的系统的实施例的软件程序,其从28开始。如方框30所示,一个例如应用程序A的应用程序,接入电视服务器18。应用程序请求视频(方框32),如菱形框34所示,执行一次查询以判断视频是否已经初始化。如是,则对该视频进行解初始化。这可以将视频恢复成已知、稳定的状态。如否,电视服务器使用由应用程序提供的父视频窗对视频进行初始化(方框38)。如方框40所示,应用程序如其所设想的意图使用视频。
在菱形框42中,查询并判断应用程序是否崩溃。崩溃检测例如可以通过监视异常处理码来完成。软件可以绑定操作系统并等待预先设置的异常处理码来指示崩溃。当某一特定的码被检测到时,软件就可以判断出在应用程序中发生了崩溃。一旦检测出有崩溃发生,在方框48中,视频堆栈会自动关闭,在方框50中,电视调谐卡也同时自动关闭。
如果未检测出崩溃发生,当应用程序处理完视频时,应用程序最后会要求电视服务器关掉视频,如方框44所示。只要操作系统正常工作,应用程序就保留视频初始化的状态,如方框46所示。
一旦发生崩溃,当检测出错误状态时通过马上关闭视频堆栈和电视调谐卡,视频堆栈仍可以对例如图1中所示的应用程序B的后继的应用程序保持可使用的状态。即使父视频窗14不能使用,电视服务器18仍可以正常运行并可接入视频堆栈20,这是由于电视服务器中的窗口19所使用的地址空间区别于应用程序的窗口14的地址空间。
使用服务器18提供的操作可以在窗口中激活视频。如果出现崩溃,父窗口14消失,但视频堆栈仍旧与电视服务器的窗口19相连。当一个新的应用程序启动时,其请求来自电视服务器18的视频,而电视服务器可以不受前一应用程序崩溃的影响,提供对视频堆栈的连接。
请参照图3,用于实现本发明实施例的一个示例性的计算机系统51,包含与一桥接器(Bridge)54相连接的一处理器52。桥接器54进一步连接到系统存储器56。系统存储器56包含多个地址空间,包括地址空间70和72。地址空间70和72中的一个地址空间可以用于视窗19,另一个可以用于视窗14。
桥接器54与一常规的总线58相连。一调谐卡62与总线58相连。显示器64,例如可以是一电视,与调谐卡62相连。桥接器60也与总线58相连。桥接器60与硬盘驱动器66相连接,硬盘驱动器66中存储了包含实现服务器18、视频堆栈20、和应用程序68的多个软件程序,应用程序68对应于图1中所示的应用程序A或应用程序B。
尽管本发明仅列出了有限的实施例,但本领域的技术人员仍可据此做出许多相关的修改和改进。应当明了的是,凡属依据本发明构思所能得到方法或改进,均属本发明权利要求保护的范围。
权利要求
1.一种接入视频流的方法,包含当一个第一应用程序请求视频时,使用一个视频服务器初始化视频流;和如果该第一应用程序被崩溃,通过视频服务器为一个第二应用程序维持对视频流的接入。
2.如权利要求1所述的方法,其特征在于包含检测该第一应用程序是否崩溃。
3.如权利要求1所述的方法,其特征在于包含当检测出有崩溃发生时关闭视频堆栈。
4.如权利要求1所述的方法,其特征在于包含当检测出有崩溃发生时关闭一电视捕捉卡。
5.一种包含用于存储指令的介质的装置,该指令用于使计算机完成当一个第一应用程序请求视频时,使用一个视频服务器初始化视频流;和如果该第一应用程序崩溃,通过视频服务器为一个第二应用程序维持对视频流的接入。
6.如权利要求5所述的装置,其特征在于包含使计算机检测该第一应用程序是否崩溃的指令。
7.如权利要求6所述的装置,其特征在于进一步包含使计算机通过监视一异常处理程序来检测该第一应用程序是否崩溃的指令。
8.如权利要求5所述的装置,其特征在于包含使计算机在检测到崩溃时,关闭视频堆栈的指令。
9.如权利要求5所述的装置,其特征在于包含使计算机在检测到崩溃时,关闭电视捕捉卡的指令。
10.如权利要求5所述的装置,其特征在于包含使计算机使用一区别于应用程序的地址空间来操作所述视频流的指令。
11.如权利要求5所述的装置,其特征在于包含使计算机在检测到崩溃时,令电视服务器释放视频堆栈的指令。
12.如权利要求5所述的装置,其特征在于包含使计算机在应用程序中打开一个第一窗口用于接入电视服务器,和在所述服务器中打开一个第二窗口用于接入视频堆栈的指令。
13.一计算机系统,包含一处理器;一电视调谐卡,与处理器相连接;一存储器,与所述的处理器相连接,其中存储的程序可令计算机执行将需要视频服务的应用程序与电视服务器通过一个窗口相连接,该窗口使用的地址空间区别于应用程序所使用的地址空间;监视并判断在接收视频流时应用程序是否崩溃;和当应用程序崩溃时,自动关闭视频堆栈和视频捕捉卡。
全文摘要
一应用程序在进行视频服务时可通过一单独的服务器与视频堆栈相连接,该单独的视频服务器使用的窗口的地址空间区别于应用程序本身所使用的视频窗口的地址空间。当应用程序崩溃时,可以有充足的时间保证电视捕捉卡和视频堆栈正确的依次被关闭并能使其被随后的应用程序重新使用而不需要重新启动计算机。
文档编号G06F17/30GK1317115SQ99810637
公开日2001年10月10日 申请日期1999年8月26日 优先权日1998年9月15日
发明者詹姆斯·凯特伦诺斯 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1