source: svn/newcon3bcm2_21bu/magnum/syslib/pcrlib/7552/bpcrlib_mvd.c @ 74

Last change on this file since 74 was 74, checked in by phkim, 10 years ago
  1. phkim
  2. zasc
  3. 변경 내용
    • CT_ChMapUpdatePMTAC3AudioDescriptor 메모리 leak 버그 수정
  • Property svn:executable set to *
File size: 3.4 KB
Line 
1/***************************************************************************
2 *     Copyright (c) 2003-2006, Broadcom Corporation
3 *     All Rights Reserved
4 *     Confidential Property of Broadcom Corporation
5 *
6 *  THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE
7 *  AGREEMENT  BETWEEN THE USER AND BROADCOM.  YOU HAVE NO RIGHT TO USE OR
8 *  EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
9 *
10 * $brcm_Workfile: bpcrlib_mvd.c $
11 * $brcm_Revision: Hydra_Software_Devel/8 $
12 * $brcm_Date: 12/4/06 1:39p $
13 *
14 * Module Description:
15 *
16 * Revision History:
17 *
18 * $brcm_Log: /magnum/syslib/pcrlib/7038/bpcrlib_mvd.c $
19 *
20 * Hydra_Software_Devel/8   12/4/06 1:39p erickson
21 * PR26295: only call BXPT_PcrOffset_RegenOffset_isr on request_stc, not
22 * pts_error. this requires a new param to UpdateStc.
23 *
24 * Hydra_Software_Devel/7   8/29/05 6:24p vsilyaev
25 * PR 16685,PR15967: Added use of UpdateStc function.
26 *
27 * Hydra_Software_Devel/6   8/16/05 3:53p vsilyaev
28 * PR 15967: Added debug traces.
29 *
30 * Hydra_Software_Devel/5   8/9/05 2:31p vsilyaev
31 * PR 15967: Use both aux transport and decoder to access STC.
32 *
33 * Hydra_Software_Devel/4   8/5/05 3:07p vsilyaev
34 * PR 15967: Fixed compile time warnings
35 *
36 * Hydra_Software_Devel/3   6/30/05 9:21a erickson
37 * PR15697: changed to BMVD_GetPTS_isr to avoid deadlok
38 *
39 * Hydra_Software_Devel/2   6/28/05 1:16p vsilyaev
40 * PR 15697: Improved interface to update STC.
41 *
42 * Hydra_Software_Devel/1   6/24/05 3:50p vsilyaev
43 * PR 15967: 7038 implementation of the audio/video interface.
44 *
45 ***************************************************************************/
46
47#include "bstd.h"
48#include "bpcrlib.h"
49#include "bpcrlib_mvd.h"
50#include "bmvd.h"
51#include "bxpt_directv_pcr.h"
52
53
54BDBG_MODULE(pcrlib);
55
56static BERR_Code
57BPCRlib_Video_GetStc_MVD_isr(void *trp, void *dec, uint32_t *stc)
58{
59        BSTD_UNUSED(trp);
60
61        BDBG_MSG(("VID_MVD:GetStc %#x %#x", (unsigned)trp, (unsigned)dec));
62        return BMVD_GetCurrentLocalSTC(dec, stc);
63}
64
65static BERR_Code
66BPCRlib_Video_GetPts_MVD_isr(void *dec, BAVC_PTSInfo *pts)
67{
68        BMVD_PTSInfo                    PTSInfo;
69        BERR_Code rc;
70
71        BDBG_MSG(("VID_MVD:GetPts %#x", (unsigned)dec));
72        rc = BMVD_GetPTS_isr(dec, &PTSInfo);
73        pts->ui32CurrentPTS = PTSInfo.ui32RunningPTS;
74        pts->ePTSType = PTSInfo.ePTSType;
75       
76        return rc;
77}
78
79BERR_Code
80BPCRlib_Video_GetCdbLevel_MVD_isr(void *dec, unsigned *level)
81{
82        return BMVD_GetCDBOccupancy(dec, (void *)level);
83}
84
85static BERR_Code
86BPCRlib_Video_SetStc_MVD_isr(void *trp, void *dec, bool dss, uint32_t stc)
87{
88        BERR_Code rc;
89
90        BSTD_UNUSED(dec);
91
92        BDBG_MSG(("VID::SetStc %#x", (unsigned)trp, (unsigned)dec));
93        if (dss) {
94                BDBG_MSG(("updating XPT: DSS stc %#x", stc));
95                rc = BXPT_PCR_DirecTv_SendPcr_isr(trp, stc);
96                if (rc!=BERR_SUCCESS) { BDBG_ERR(("BXPT_PCR_DirecTv_SendPcr_isr returned error %#x, ignored", rc)); }
97        } else {
98                BDBG_MSG(("updating XPT: stc %#x", stc));
99                rc = BXPT_PCR_SendPcr_isr(trp, stc, 0);
100                if (rc!=BERR_SUCCESS) { BDBG_ERR(("BXPT_PCR_SendPcr_isr returned error %#x, ignored", rc)); }
101        }
102        return rc;
103}
104       
105static BERR_Code
106BPCRlib_Video_UpdateStc_MVD_isr(void *trp, bool is_request_stc)
107{
108        BSTD_UNUSED(is_request_stc);
109        BDBG_MSG(("VID::UpdateStc %#x", (unsigned)trp));
110        BXPT_PCR_RefreshPcrPid_isr(trp);
111        return BERR_SUCCESS;
112}
113
114const BPCRlib_StcDecIface BPCRlib_Video_Mvd = {
115        BPCRlib_Video_GetPts_MVD_isr,
116        BPCRlib_Video_GetStc_MVD_isr,
117        BPCRlib_Video_GetCdbLevel_MVD_isr,
118        BPCRlib_Video_SetStc_MVD_isr,
119        BPCRlib_Video_UpdateStc_MVD_isr,
120        false
121};
122
Note: See TracBrowser for help on using the repository browser.