亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? watchdog.c

?? pnx1500 mpeg2 ts stream demo
?? C
字號:
/*
 * Copyright (c) 2004, 2005 Koninklijke Philips Electronics N V. Includes code
 * copyright (c) 2004 by VCom Electronics Inc; copyright transferred by verbal
 * agreement between Tim Meakin and Jonathan Coxhead, November 2004. All rights
 * reserved.
 *
 * This source code and any compilation or derivative thereof is the proprietary
 * information of Koninklijke Philips Electronics N V and is confidential in
 * nature. Under no circumstances is this software to be exposed to or placed
 * under an Open Source License of any type without the express written
 * permission of Koninklijke Philips Electronics N V.
 *
 * #############################################################################
 *
 * Module: %name: watchdog.c % %version: 1 %
 *
 * %date_created: Fri Mar 11 11:55:33 2005 % %created_by: jcoxhead %
 *
 * %date_modified: Fri Jun 14 11:31:56 2002 %
 *
 * #############################################################################
 */

/* --------------------------------------------------------------------------
 *
 *  DESCRIPTION:  Controls the Watchdog timer
 *
 * ------------------------------------------------------------------------
 */

#include <stdio.h>
#include <string.h>
#include <tmNxCompId.h>
#include <tmosal.h>
#include <tmbslCore.h>
#include <tsaClock.h>
#include <tmArith.h>
#include <tmMainStreaming.h>
#include <tmDbg.h>
#include <tmdlWatchdog.h>
#include "tmalDemuxMpegTS.h"
#include "watchdog.h"

//---------------------------------------------------------------------------
// Defines and Macros
//---------------------------------------------------------------------------

#define TASK_SMALL_SLEEP_MS    10

//---------------------------------------------------------------------------
// Global Data
//---------------------------------------------------------------------------
#ifdef USE_WATCHDOG_TIMER
static tmInstance_t    watchdogInst = 0;
#endif  // USE_WATCHDOG_TIMER

#ifdef PRINT_RUNNING_TIME
static Int             gClock       = 0;
#endif  // PRINT_RUNNING_TIME


//---------------------------------------------------------------------------
// Functions
//---------------------------------------------------------------------------
tmErrorCode_t
initWatchdog(
    Int    clock )
{
    tmErrorCode_t                      rval      = TM_OK;

#ifdef USE_WATCHDOG_TIMER
    tmSWVersion_t                      SWVersion;
    const tmdlWatchdog_Capabilities_t  *pCaps;
    tmdlWatchdog_InstanceSetup_t       *pSetup;
    Bool                               isRunning = False;
#endif  // USE_WATCHDOG_TIMER

    DBG_ISR_PRINT( (dbgTsDemux, DBG_INTERNAL_ENTER, "initWatchdog") )

#ifdef USE_WATCHDOG_TIMER
    ERRCHK( tmdlWatchdog_GetSWVersion( &SWVersion ) )
    ERRCHK( tmdlWatchdog_GetCapabilities( &pCaps ) )
    ERRCHK( tmdlWatchdog_Open( &watchdogInst ) )
    ERRCHK( tmdlWatchdog_GetInstanceSetup( watchdogInst, &pSetup ) )

    // Watchdog will reset board in 5 seconds if not fed
    pSetup->mode                            = tmdlWatchdog_Noninterrupt;
    pSetup->setup.noninterrupt.ticksToReset = pCaps->tickFreq * 10;

    ERRCHK( tmdlWatchdog_InstanceSetup( watchdogInst, pSetup ) )
    ERRCHK( tmdlWatchdog_SetEventMask( watchdogInst, TMDL_WATCHDOG_EVENT_ALL ) )
    ERRCHK( tmdlWatchdog_Start( watchdogInst ) )
    ERRCHK( tmdlWatchdog_QueryRunning( watchdogInst, &isRunning ) )

    if ( !isRunning )
    {
        rval = TM_ERR_NOT_STARTED;
        goto _return;
    }
#endif  // USE_WATCHDOG_TIMER

#ifdef PRINT_RUNNING_TIME
    gClock = clock;
#else
    // Remove compiler warning about unused parameters
    clock = clock;
#endif  // PRINT_RUNNING_TIME

_return:
    DBG_ISR_PRINT( (dbgTsDemux, DBG_INTERNAL_LEAVE, "initWatchdog") )
    return( rval );
}
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
void
watchdogTask(
    pVoid    pArgs )
{
    DBG_ISR_PRINT( (dbgTsDemux, DBG_INTERNAL_ENTER, "watchdogTask") )

    // Remove compiler warning about unused parameters
    pArgs = pArgs;

    for ( ;; )
    {
#ifdef USE_WATCHDOG_TIMER
        // Feed the Watchdog (reset the timer before it expires and resets the board)
        ERRCHK( tmdlWatchdog_Feed( watchdogInst ) )
#endif  // USE_WATCHDOG_TIMER

        // Check if we have been ordered to kill ourself
        if ( bKillWatchDogTask )
        {
#ifdef USE_WATCHDOG_TIMER
            ERRCHK( tmdlWatchdog_Close( watchdogInst ) )
#endif  // USE_WATCHDOG_TIMER

            DBG_ISR_PRINT( (dbgTsDemux, DBG_LEVEL_1,
                            "watchdogTask: Received kill signal, exiting") )
            tmosalTaskExit();
        }


#ifdef PRINT_RUNNING_TIME
        dbgPrintRunningTime( gClock, DBG_LEVEL_4, 60 );
#endif  // PRINT_RUNNING_TIME

        tmosalTaskSleep( TASK_SMALL_SLEEP_MS );
    }
}
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
/*
 * Function         : print out how long the video has been running for
 * Parameters       : clock:       instance of the tsaClock
 *                    dbgLevel:    which debug level the running time should
 *                                 be displayed at.
 *                    refreshRate: how often, in seconds, the clock is displayed
 * Function Result  : In dpDump, the current running time is displayed in
 *                    hours, minutes, seconds, and days.
 */
void
dbgPrintRunningTime(
    Int       clock,
    UInt32    dbgLevel,
    Int       refreshRate )
{
    tmTimeStamp_t  time;
    UInt32         lo_ticks       = 0;
    UInt32         maxIntSize     = 0xFFFFFFFF;
    static Float   partOfaSecond  = 0.0;
    static UInt32  seconds        = 0;
    static UInt32  minutes        = 0;
    static UInt32  hours          = 0;
    static UInt32  days           = 0;
    static UInt32  prevTime       = 0;
    static UInt32  refreshSeconds = 0;

    tsaClockGetTime( clock, &time );
    lo_ticks = U64LOCASTU32( time );

#if 0
    if ( prevTime == 0 )
    {
        prevTime = lo_ticks;
        return;
    }
#endif
    partOfaSecond += (lo_ticks > prevTime) ?
                     (((Float)lo_ticks - (Float)prevTime) / 90000.0) :
                     ((((Float)maxIntSize - (Float)prevTime) +
                     (Float)lo_ticks) / 90000.0);

    if ( lo_ticks < prevTime )
    {
        DBG_ISR_PRINT( (dbgTsDemux, dbgLevel,
                        "*****************************CLOCK*******WRAPPED*******"
                        "***************************************************") )
        DBG_ISR_PRINT( (dbgTsDemux, dbgLevel,
                        "*****************************CLOCK*******WRAPPED*******"
                        "***************************************************") )
    }

    while ( partOfaSecond >= 1.0 )
    {
        seconds++;
        refreshSeconds++;
        partOfaSecond -= 1.0;
    }

    while ( seconds >= 60 )
    {
        minutes++;
        seconds -= 60;
    }

    while ( minutes >= 60 )
    {
        hours++;
        minutes -= 60;
    }

    while ( hours >= 24 )
    {
        days++;
        hours -= 24;
    }

    if ( refreshSeconds >= refreshRate )
    {
            DBG_ISR_PRINT( (dbgTsDemux, dbgLevel,
                        "Current Running Time (dd:hh:mm:ss) is %02d:%02d:%02d:%02d",
                        days, hours, minutes, seconds) )
        refreshSeconds = 0;
    }

    prevTime = lo_ticks;
}
//---------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
东方欧美亚洲色图在线| 欧美精品三级在线观看| 国产自产2019最新不卡| 国产乱码字幕精品高清av| 成人免费视频免费观看| 在线91免费看| 中文字幕在线不卡| 午夜精品久久久久久久久久久 | 日韩精品最新网址| 国产精品国产三级国产| 久久成人免费日本黄色| 91麻豆视频网站| 日韩欧美精品三级| 国产电影一区二区三区| 91精品黄色片免费大全| 久久电影网站中文字幕| 亚洲国产精品v| 久久99国产精品久久99果冻传媒| 色噜噜狠狠成人网p站| 国产午夜精品一区二区三区视频| 亚洲一区中文在线| 国产福利91精品一区| 亚洲精选视频免费看| 成人一区二区三区中文字幕| 一区二区三区精品在线| www.日韩av| 久久久另类综合| 精品一区二区三区不卡 | 欧美一区二区日韩| 亚洲永久精品大片| 精品国产一区二区三区四区四| 性欧美大战久久久久久久久| 欧美少妇一区二区| 亚洲欧洲无码一区二区三区| 欧美精选在线播放| 成人黄色大片在线观看| 久久久不卡网国产精品二区| 在线观看国产一区二区| 亚洲精选视频在线| 久久久美女艺术照精彩视频福利播放| 一本久道久久综合中文字幕 | 色综合中文字幕国产| 精品国产在天天线2019| 成人激情图片网| 亚洲成av人片一区二区| 91麻豆精品国产91| av在线不卡电影| 日本aⅴ免费视频一区二区三区| 国产一区二区三区在线观看免费| 欧美日韩在线播放一区| 久久99久久久久| 亚洲综合在线免费观看| 亚洲精品一区二区三区精华液| 色综合网站在线| 国产精品乡下勾搭老头1| 成人欧美一区二区三区视频网页| 欧美精品一二三| av激情综合网| 另类人妖一区二区av| 亚洲一区二区四区蜜桃| 国产欧美日韩亚州综合| 欧美一区二区大片| 在线亚洲人成电影网站色www| 日本中文字幕不卡| 亚洲少妇中出一区| 秋霞成人午夜伦在线观看| 亚洲在线免费播放| 国产精品无人区| av一本久道久久综合久久鬼色| 日韩成人av影视| 亚洲国产精品尤物yw在线观看| 国产欧美一区二区精品性色超碰 | 精品制服美女久久| 一区二区三区国产| 国产精品全国免费观看高清| 日韩免费看的电影| 欧美一区二区免费视频| 欧美色图在线观看| 色综合亚洲欧洲| caoporm超碰国产精品| 亚洲高清免费观看高清完整版在线观看| 久久精品一区蜜桃臀影院| 性感美女极品91精品| 亚洲制服欧美中文字幕中文字幕| 精品粉嫩aⅴ一区二区三区四区| 欧美日韩一区二区三区高清 | 国产一区在线观看麻豆| 午夜视频一区在线观看| 亚洲欧美日韩在线| 精品动漫一区二区三区在线观看| 在线不卡的av| 欧美一区午夜精品| 欧美日韩精品福利| 国产亚洲一区二区三区在线观看 | 欧美一卡二卡三卡| 91精品国产欧美一区二区18| 欧美人伦禁忌dvd放荡欲情| 欧美日韩三级一区| 色综合天天综合给合国产| fc2成人免费人成在线观看播放| 成人免费三级在线| 成人国产一区二区三区精品| 九九热在线视频观看这里只有精品| 亚洲免费在线看| 中文在线免费一区三区高中清不卡| 久久久综合视频| 国产精品伦一区二区三级视频| 国产精品热久久久久夜色精品三区 | 国产精品的网站| 一区二区成人在线| 天使萌一区二区三区免费观看| 日产欧产美韩系列久久99| 美女视频一区二区三区| 精品一区二区三区免费毛片爱 | 视频一区中文字幕国产| 亚洲午夜在线观看视频在线| 亚洲一区精品在线| 日韩高清电影一区| 久久99久久99小草精品免视看| 国产不卡高清在线观看视频| 99精品国产视频| 欧美精品v国产精品v日韩精品 | 午夜激情一区二区三区| 一区二区欧美国产| 天天色图综合网| 国产精品一区二区三区四区| 成人免费视频视频| yourporn久久国产精品| 欧美高清www午色夜在线视频| 精品日韩成人av| 成人欧美一区二区三区小说| 午夜电影网一区| 国产一区 二区| 欧美主播一区二区三区美女| 日韩色视频在线观看| 国产精品久久毛片| 丝袜亚洲另类欧美| 国产成人免费高清| 欧美欧美午夜aⅴ在线观看| 久久久亚洲国产美女国产盗摄| 亚洲一区二区精品视频| 国产一区二区91| aaa亚洲精品一二三区| 欧美日韩在线电影| 国产成人亚洲综合a∨婷婷图片 | 欧美中文字幕一二三区视频| 欧美一区二区国产| 亚洲色图清纯唯美| 精品制服美女久久| 欧美性三三影院| 久久精品在线观看| 午夜成人免费电影| 99re热这里只有精品视频| 日韩欧美电影一二三| 亚洲伊人伊色伊影伊综合网| 国产精品一区二区视频| 欧美日韩国产小视频| 亚洲美女偷拍久久| 久久国产精品色婷婷| 粉嫩久久99精品久久久久久夜| 欧美乱妇15p| 亚洲精品国产视频| 丁香另类激情小说| 久久久久久久精| 午夜久久久久久| 色欧美片视频在线观看在线视频| 国产拍欧美日韩视频二区| 麻豆免费精品视频| 精品视频在线视频| 亚洲午夜av在线| 99久久婷婷国产综合精品电影| 精品福利一区二区三区| 免费成人结看片| 91精品国产一区二区三区蜜臀| 亚洲高清在线精品| 91精品办公室少妇高潮对白| 国产精品午夜在线| 国产精品资源在线| 国产亚洲精品免费| 国产乱码精品一区二区三| 欧美成人精品福利| 轻轻草成人在线| 欧美日韩成人高清| 亚洲一级电影视频| 在线观看网站黄不卡| 亚洲综合在线电影| 欧美日韩美女一区二区| 亚洲成人黄色影院| 欧美日本乱大交xxxxx| 亚洲精品国产精品乱码不99| 91亚洲精品一区二区乱码| 亚洲天堂av老司机| 色综合视频在线观看| 亚洲综合成人在线视频| 欧美视频一区二区三区四区| 亚洲成av人片观看| 日韩欧美一区二区免费| 国产一区二区在线电影| 久久久99久久精品欧美| 国产专区综合网|