123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339 |
- /********************************************************************
- ** File Name: system_app_dvb.c
- **
- ** File Description: This file implements dvb system application
- **
- ** Copyright(c) 2009 Sunplus Technologies - All Rights Reserved
- **
- ** History Information Description
- ** Date Author Modification
- ** 2009/03/12 James Create
- ********************************************************************/
- /********************************************************************
- Including Files
- ********************************************************************/
- #include <stdio.h>
- #include <string.h>
- #include <ctype.h>
- #include <types.h>
- #include "umf_debug.h"
- #define DVB_GUI_OBJECT_TABLE_DEFINE_HERE
- #include "app_guiobj_mute.h"
- #include "sysapp_if.h"
- #include "main_app.h"
- #include "app_event.h"
- #include "app_dvb_event.h"
- #include "sysapp_table.h"
- #include "app_global.h"
- #include "app_gui.h"
- #include "app_audio.h"
- #include "app_factory.h"
- #include "app_database.h"
- #include "al_time.h"
- #include "app_area_info.h"
- #include "app_video.h"
- #include "al_fw.h"
- #include "gl_timer.h"
- #include "app_data_setting.h"
- #include "board_config.h"
- #include "app_dvb_epg.h"
- #include "app_prog_list.h"
- #include "dvb_app.h"
- #include "app_file_psi_listeners.h"
- #include "app_guiobj_mainmenu.h"
- #include "app_guiobj_feature.h"
- #include "app_guiobj_scan_process.h"
- #include "app_guiobj_fm_factory.h"
- #include "app_guiobj_cul_fm_HotelSetting.h"
- #include "app_guiobj_fm_MultiplePanel.h"
- #include "app_guiobj_fm_factory.h"
- #include "app_guiobj_source.h"
- #include "app_guiobj_sleeptimer.h"
- #include "app_guiobj_adjust.h"
- #include "app_guiobj_date_time.h"
- #include "dvb_guiobj_table.h"
- #include "mid_playback.h"
- #include "mid_display.h"
- #include "mid_dtv_display.h"
- #include "dvb_dr.h"
- #include "mid_dvbmon.h"
- #include "mid_ota.h"
- #include "mid_siutil.h"
- #include "mid_siutil_dvb.h"
- #include "mid_siutil_13818.h"
- #include "mid_common.h"
- #include "mid_psimon.h"
- #include "app_dvb_prefername.h"
- #include "app_guiobj_dtv_proginfo.h"
- #include "app_dvb_playback.h"
- #include "app_dvb_parental_lock.h"
- #include "app_scan_api.h"
- #include "app_scan_save.h"
- #include "app_guiobj_fm_Hotel_Mode_Adj.h"
- #include "app_systime.h"
- #include "app_guiobj_dtv_epg.h"
- #include "app_guiobj_language.h"
- #include "ap_extern.h"
- #include "mid_sub_dtv_interface.h"
- #ifdef SUPPORT_ETHERNET
- #include "app_dvb_network.h"
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- #include "app_dvb_mheg5.h"
- #include "app_guiobj_dtv_mheg5.h"
- #endif
- #ifdef CONFIG_SUPPORT_TTX
- #include "al_teletext.h"
- #include "app_guiobj_teletext.h"
- #endif
- #ifdef CONFIG_SUPPORT_SUBTITLE
- #include "al_subtitle.h"
- #include "app_guiobj_subtitle.h"
- #endif
- #ifdef SCAN_FREQ_OFFSET_RANGE_ENLARGE
- #include "mid_dtv_scan.h"
- #endif
- #ifdef SUPPORT_SCART_TV
- #include "drv_scart.h"
- #endif
- #ifdef SUPPORT_CONAX_CAS
- #include "conaxca_interface.h"
- #include "dvb_ca_conax_utilities.h"
- #include "app_guiobj_dtv_ca_pin_confim.h"
- #endif
- #ifdef CONFIG_CI_SUPPORT
- #include "app_dvb_ci_mmi.h"
- #include "app_ciplus_op.h"
- #endif
- #include "app_guiobj_dtv_proginfo.h"
- #include "app_guiobj_dtv_multiaud.h"
- #include "app_guiobj_channel.h"
- #include "app_guiobj_dtv_lcn_conflict_menu.h"
- #include "app_guiobj_dtv_playback.h"
- #include "app_menumgr.h"
- #ifdef CONFIG_SUPPORT_OTA_UPGRADE
- #include "mid_otamon.h"
- #include "app_guiobj_dtv_ota_upgrade_prompt.h"
- #include "app_dvb_ota_listeners.h"
- #include "app_guiobj_dtv_ota_upgrade_progress.h"
- #endif
- #ifdef CONFIG_SUPPORT_USB_UPGRADE
- #include "app_usb_upgrade.h"
- #endif
- #include "app_prog_list.h"
- #include "app_dvb_prog_manager.h"
- #include "app_scart.h"
- #ifdef CONFIG_SUPPORT_PVR
- #include "app_guiobj_dtv_partitionlist.h"
- #include "app_guiobj_dtv_pvr_recdurationtime.h"
- #include "app_guiobj_dtv_pvr_rec.h"
- #include "app_guiobj_dtv_pvr_playinfo.h"
- #include "app_guiobj_dtv_pvr_fileplay.h"
- #include "app_guiobj_dtv_pvrrec_info.h"
- #include "mid_recorder.h"
- #include "mid_tspl.h"
- #include "pvrparser.h"
- #include "mid_tspl_parser.h"
- #include "mid_partition_list.h"
- #ifdef CONFIG_MEDIA_ENABLE
- //#include "MM_music_playback_gui.h"
- #endif
- #endif
- #if defined (CONFIG_SUPPORT_USB_UPGRADE) || defined (CONFIG_SUPPORT_OTA_UPGRADE)
- #include "mid_upgrade.h"
- #endif
- #include "main_app_external.h"
- #include "al_prog_reminder.h"
- #include "app_guiobj_auto_search.h"
- #include "app_guiobj_dtv_pvr_playinfo.h"
- #include "app_guiobj_dtv_partitionlist.h"
- #include "app_power_control.h"
- #include "app_clone_data.h"
- //#include "system_utils.h"
- #ifdef SUPPORT_CEC_TV
- #include "umf_cec.h"
- #endif
- #include "app_guiobj_hdmilink.h"
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- #include "app_guiobj_satsystem.h"
- #include "mid_sat_antenna.h"
- #endif
- #include "app_sysset.h"
- #include "app_guiobj_cul_fm_factorySetting_new.h"
- #ifdef SUPPORT_LED_FLASH
- #include "app_led_control.h"
- #endif
- #include "app_sysset.h"
- #ifdef CELLO_cello
- #include "app_guiobj_auto_installation_cello.h"
- #endif
- #ifdef N32_GAME_SUPPORT
- #include "app_clone_data.h"
- #endif
- #ifdef SUPPORT_HKC_FACTORY_REMOTE
- #ifdef CONFIG_ATV_SUPPORT
- #include "app_atv_playback.h"
- #endif
- #endif
- #include "app_guiobj_favnet.h"
- #include "audio_ioctl.h"
- #include "drv_dtv_external.h"
- #include "drv_dtv_common.h"
- #include "mid_dtv_display.h"
- #ifdef CONFIG_SUPPORT_MHEG5
- #include "mid_mheg5.h"
- #endif
- #ifdef CONFIG_CIPLUS_SUPPORT
- #include "mid_dtvci.h"
- #endif
- #include "app_console.h"
- #ifdef CONFIG_QSD
- #include "app_guiobj_cul_fm_factorySetting_new.h"
- #endif
- #include "unicode.h"
- #include "cust_nvm_cfg.h"
- #include "app_factory_flash_access.h"
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- #include "app_guiobj_dtv_ews_awas.h"
- #include "app_guiobj_ews_areacodesetting.h"
- #include "al_psi_monitor.h"
- #endif
- #ifdef CONFIG_SUPPORT_MIRACAST
- #include "umf_miracast.h"
- #endif
- #include "app_guiobj_dtv_prognum.h"
- #if defined(CONFIG_BT_RDA5856)
- #include "app_bt.h"
- #include "app_guiobj_bt_setting.h"
- #endif
- #ifdef CONFIG_ENABLE_UMF_MODULES
- #include "umf_mod.h"
- #endif
- /********************************************************************
- Macros
- ********************************************************************/
- #define DVB_DEBUG
- #ifdef DVB_DEBUG
- #define dvb_printf(fmt, arg...) UMFDBG(0,"[DVB App][%s:%d]"fmt, __FUNCTION__, __LINE__, ##arg)
- #else
- #define dvb_printf(fmt, arg...) ((void) 0)
- #endif
- #define PVR_DEBUG
- #ifdef PVR_DEBUG
- #undef PVR_DEBF
- #define PVR_DEBF(fmt, arg...) UMFDBG(0,fmt, ##arg)
- #else
- #undef PVR_DEBF
- #define PVR_DEBF(fmt, arg...) ((void) 0)
- #endif
- //#define FW_DEBUG
- #ifdef FW_DEBUG
- #define FW_DEBF(fmt, arg...) UMFDBG(0,fmt, ##arg)
- #else
- #define FW_DEBF(fmt, arg...) ((void) 0)
- #endif
- #ifdef SUPPORT_SUBTITLE_ON_PG
- #define ON_DATA_APPLICATION_DECISION(b)\
- ((b&OSD2CTRLMDL_SUB)>0? (OSD2CTRLMDL_SUB|(b&OSD2CTRLMDL_MH5)):(b&OSD2CTRLMDL_TTX))
- #else
- #define ON_DATA_APPLICATION_DECISION(b)\
- ((b&OSD2CTRLMDL_SUB)>0? OSD2CTRLMDL_SUB:((b&OSD2CTRLMDL_MH5)>0? OSD2CTRLMDL_MH5:(b&OSD2CTRLMDL_TTX)))
- #endif
- #define AP_FMW_DFP_NAME_BUFF_SIZE (32<<10)
- #ifdef SUPPORT_DYNAMIC_MULTIPLEXES
- #define MAX_TMP_PROG_SIZE 100
- #endif
- #define DVB_10_MINUTES (5400)//5400*100 ms(9 min)
- #define NOT_USED(p) ((void)(p))
- /********************************************************************
- Type definitions
- ********************************************************************/
- enum
- {
- DATA_APP_UNSTABLE = 0, // si information doesn't find yet
- DATA_APP_LANUCHABLE = (1 << 1), // the module has data,
- DATA_APP_NOT_FOUND = (1 << 2), // no data found for this application
- DATA_APP_EXECUTABLE = (1 << 7), // there is data, and it can be shown
- } enDataAppModuleState;
- typedef struct DvbPrivateData_t_
- {
- //user define private data
- UINT32 dUserData;
- } DvbPrivateData_t;
- typedef void (*SysTimeFunc)(void);
- /********************************************************************
- Function Declare
- ********************************************************************/
- #ifdef CONFIG_CIPLUS_SUPPORT
- extern INT32 APP_DVB_CI_CiInit(void);
- static Boolean g_isMute = FALSE;
- #endif
- #ifdef AC_ON_AUTO_GET_TIME
- extern Boolean g_fBackgroundGetTime;
- #endif
- extern UINT8 AL_FLASH_GetColorLUTALL(ColorLUT_t* bColorLUTValue);
- extern int APP_GUIOBJ_3DMenu_SetModeNoOutPutStructure(UINT32 u32Mode);
- extern void _APP_GUIOBJ_3DMenu_GetForce2DAnother(UINT32 *u32Force2D);
- extern void _APP_GUIOBJ_3DMenu_SetForce2DAnother(UINT32 u32Force2D);
- static INT32 _DVBApp_OnCreate(void **ppPrivateData);
- static INT32 _DVBApp_OnDestroy(void **ppPrivateData);
- static INT32 _DVBApp_OnRun(void *pPrivateData, UINT32 dParam);
- static INT32 _DVBApp_OnTerminate(void *pPrivateData, UINT32 dParam);
- static INT32 _DVBApp_OnTimerUpdate(void *pPrivateData);
- static INT32 _DVBApp_OnEvent(void *pPrivateData, UINT32 dMessage, UINT32 dParam);
- extern void _APP_GUIOBJ_Sound_SetMuteStatus();
- extern UINT8 gIsFactoryResetting;
- static INT32 _DVBApp_Zapping(
- UINT8 bServiceType, AL_RecHandle_t hProgHdl,
- UINT8 bForce, UINT32 u32Paramter, Boolean bShowInfo);
- static INT32 _DVBApp_CloseAllMenu(void);
- #ifdef CONFIG_SUPPORT_HOTKEY_SOURCE_LOCK
- extern void SourceLock_Set_Hotkey_Flag(bool g_SourceLock_flag);
- #endif
- extern Boolean gUSBUpgradeBinIsSupperBin;
- #ifdef CONFIG_SUPPORT_HOTKEY_SOURCE_LOCK
- static bool g_fmSourceLock_flag = FALSE;
- #endif
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- static UINT16 g_PreEWSLevel = STATUS_NONE;
- static Boolean g_bReciveEWS= FALSE;
- #endif
- /********************************************************************
- Global Variables
- ********************************************************************/
- SysAppInstDef stDvbInst =
- {
- SYS_APP_DVB,
- _DVBApp_OnCreate,
- _DVBApp_OnDestroy,
- _DVBApp_OnRun,
- _DVBApp_OnTerminate,
- _DVBApp_OnTimerUpdate,
- _DVBApp_OnEvent,
- SYSTEM_IDLE, //system state.
- Dvb_GUI_Obj_List, //GUI object table
- DVB_GUIOBJ_MAX, //GUI object table size
- NULL, //System Application Infrastructure (should not be modified)
- NULL //System Application private data (created in OnInitialize function)
- };
- #ifdef CONFIG_CI_SUPPORT
- UINT32 g_CI_IgnoreGuiObjID[] =
- {
- DVB_GUIOBJ_EPG,
- DVB_GUIOBJ_CHNLIST,
- DVB_GUIOBJ_FAVLIST,
- DVB_GUIOBJ_MULTIAUD,
- DVB_GUIOBJ_SCAN_PROCESS,
- #ifdef CONFIG_SUPPORT_TTX
- DVB_GUIOBJ_TTX,
- #endif
- #ifdef CONFIG_SUPPORT_SUBTITLE
- DVB_GUIOBJ_SUBTITLEMENU,
- #endif
- APP_GUIOBJ_SOURCE,
- };
- UINT32 g_CI_HideGuiObjID[] =
- {
- DVB_GUIOBJ_PROGINFO,
- DVB_GUIOBJ_PROGNUM,
- };
- #endif
- #ifdef CONFIG_SUPPORT_3D_EN
- extern UINT8 bSet3DMode;
- #endif
- /*Static Variables*/
- static PopmsgParam_t stPopupWaitingList[PLAYBACK_POPUP_MAX-PLAYBACK_POPUP_NONE];
- static UINT32 g_dCurPopup = PLAYBACK_POPUP_NONE;
- static UINT32 g_u32OldPopup = PLAYBACK_POPUP_NONE;
- static UINT32 g_u32NoSignalTimer = 0;
- static UINT32 g_u32NoSignalSleepTimer = 0;
- static UINT32 g_u32PopupWaitingList = 0;
- static UINT8 g_PauseState = FALSE;
- static UINT8 g_SetPQFlag = FALSE;
- static bool bSetUnMuteFlag = FALSE;
- static bool g_bMidHasUnmute = FALSE;
- static Prog_ScrambleStatus_t g_bScrambleFlag = PROG_STATUS_SCRAMBLE_UNKNOW;
- static bool g_bTempSerFlag = FALSE;
- #ifdef CONFIG_SUPPORT_OTA_UPGRADE
- static bool g_bOTAFlag = FALSE;
- #endif
- #ifdef SUPPORT_DTV_SHOW_BLUESCREEN
- static bool g_bIsBlueScreen = FALSE;
- #endif
- static bool g_bForceProcessEventCbk = FALSE;
- #ifdef CONFIG_SUPPORT_PVR
- AL_SCH_sched_id_t stoprec_id = AL_SCH_INVALID_ID;
- AL_SCH_sched_id_t chsrc_id = AL_SCH_INVALID_ID;
- static Boolean g_bIsCHUp = FALSE;
- static Boolean g_bIsNumKey = FALSE;
- static AL_RecHandle_t g_ProgHandle;
- static UINT8 g_u8BGTimeshiftStart = 0;
- static MID_REC_MODE g_eCheckRecMode = MID_REC_MODE_MAX; //for auto mode speed not enough popup
- AL_RecHandle_t g_ProgHandleB4Rec;
- static Boolean g_bTvRadioSwap = FALSE; //for timer rec to swap TV RADIO
- static Boolean g_bPVRSwitchSource = FALSE;
- AL_SCH_sched_id_t g_dReminderId;
- AL_PR_details_t g_stDetails;
- AL_PR_details_t g_stOldDetails;
- AL_DB_ERecordType_t g_eRecType;
- AL_PR_type_t g_remtype = AL_PR_INVALID_REM;
- static APP_Favorite_t FavType = APP_FAVORITE_NONE;
- static Boolean g_bIsPlaykey = FALSE;/*<set this flag when user press play/pause key*/
- #endif
- static Boolean g_bIsFav = FALSE;
- static UINT8 g_u8SourceTrastTimer = 0;
- static UINT8 g_u8PopScrambleMsgTimer = 0;
- static UINT8 g_u8ZappingTimer = 0;
- extern Boolean g_bAudHasUpdate;
- #ifdef TEAC_BLUE_KEY_FUNCTION
- static APP_Panel_PowerSequenceType_e g_eAppPanelOnOff = APP_PANEL_POWER_UP;
- #endif
- static Boolean g_bUnstable = FALSE;
- #if defined (CONFIG_SUPPORT_TTX ) && defined(CONFIG_SUPPORT_TTX_DISP_FOR_AUS)
- static UINT8 g_u8TTXTimer = 0;
- #endif
- static al_uint8 g_bNoSteamData = AL_DVB_MONITOR_VALUE_INVAILED; /**<stream data state record, al_false: has stream data, al_true: no stream data*/
- static al_uint8 g_AdioChnPolTime = 0;
- static al_uint8 g_UnsupportVideo = FALSE;
- #ifdef CONFIG_SUPPORT_EWS
- static AL_RecHandle_t g_PrevProgHandle = AL_DB_INVALIDHDL;
- static al_uint8 g_EWSMode = FALSE;
- static al_uint8 g_NonClearEWS = FALSE;
- static DBPIDInfo_t g_MonAudioPid;
- static DBPIDInfo_t g_PrevAudioPid;
- #endif
- #ifdef CONFIG_CI_SUPPORT
- static al_uint8 g_Audio_Scramble_Counter = 0;
- static Boolean g_VIP_FINISH_Flg = FALSE;
- #define AUDIO_SCRAMBLE_COUNT 50
- #endif
- static Boolean bFindNewTSID = FALSE;
- static INT32 g_u32Mutekeydelaytime = 10;
- static INT32 g_u32MuteIconHandle = 10;
- static INT32 MUTE_KEY_INTERVAL = 10;
- #ifdef CONFIG_SUPPORT_SSU_UPGRADE
- static bool autoupgrade = FALSE;// false:don't auto upgrade(show prompt), True: auto(show progress)
- static AU_Timer_state_e autoupgrade_sate = AU_MAX;// this param is used for control auto grade process.
- static bool bBootAutoUpGrade = 0;
- void DVBApp_SetBootAutoUpGrade(Boolean flag)
- {
- bBootAutoUpGrade = flag;
- }
- Boolean DVBApp_IsBootUpGrade(void)
- {
- return bBootAutoUpGrade;
- }
- #if defined (CONFIG_SUPPORT_TTX ) && defined(CONFIG_SUPPORT_TTX_DISP_FOR_AUS)
- void APP_SetTTXTimer(UINT8 time)
- {
- g_u8TTXTimer = time;
- }
- UINT8 APP_GetTTXTimer(void)
- {
- return g_u8TTXTimer;
- }
- #endif
- void DVBApp_SetAutoUpgrade(Boolean state)
- {
- autoupgrade = state;
- }
- Boolean DVBApp_IsAutoUpgrade(void)
- {
- return autoupgrade;
- }
- AU_Timer_state_e DVBApp_GetAU_Sate(void)
- {
- return autoupgrade_sate;
- }
- void DVBApp_SetAU_Sate(AU_Timer_state_e state)
- {
- autoupgrade_sate = state;
- }
- #endif
- #ifdef CONFIG_MOD_PACK_SUB
- static Boolean _DVBApp_DispSub(void)
- {
- /*Because free memory isn't enough, subtitle can't be displayed with them.*/
- if (APP_MenuMgr_Exist_Main_Menu() != 0
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPGEXTEND)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPG)
- #ifdef CONFIG_SUPPORT_PVR
- || MID_RecorderIsCurRecording() == DRV_SUCCESS
- #endif
- #ifdef CONFIG_MOD_PACK_TT
- || (umf_checkModuleLoaded(UMFMOD_TT) == 0)
- #endif
- || (umf_checkModuleLoaded(UMFMOD_SUB) == 0))
- {
- return FALSE;
- }
- else
- {
- return TRUE;
- }
- }
- #endif
- /********************************************************************
- Function Define
- ********************************************************************/
- UINT8 APP_GetPlaybackPauseState(void)
- {
- return g_PauseState;
- }
- void APP_SetPlaybackPauseState(UINT8 state)
- {
- g_PauseState = state;
- }
- UINT8 APP_GetPlaybackVideoState(void)
- {
- return g_UnsupportVideo;
- }
- #ifdef SUPPORT_DYNAMIC_MULTIPLEXES
- static void _DVBApp_NewServicesToDatabase(void)
- {
- AL_RecHandle_t hCurrProgHdl = AL_DB_INVALIDHDL;
- AL_RecHandle_t hCurrTPHdl = AL_DB_INVALIDHDL;
- AL_RecHandle_t hNWHdl = AL_DB_INVALIDHDL;
- AL_DB_EDBType_t eDBType = AL_DBTYPE_MAX;
- if ((MID_SUCCESS != MID_PlaybackGetCurProgHandle(al_null, &hCurrProgHdl))
- || (hCurrProgHdl == AL_DB_INVALIDHDL))
- {
- dvb_printf("Get current program handle error.\n");
- return;
- }
- if (AL_SUCCESS != AL_DB_GetRecordType(hCurrProgHdl, &eDBType, al_null))
- {
- dvb_printf("Get current active db type error.\n");
- return;
- }
- hCurrTPHdl = hCurrProgHdl;
- if (AL_SUCCESS != AL_DB_GetRecord(AL_DB_REQ_GETPARENT, eDBType, AL_RECTYPE_DVBMULTIPLEX, &hCurrTPHdl))
- {
- dvb_printf("Get tp handle failed !!!\n");
- return;
- }
- hNWHdl = hCurrTPHdl;
- if (AL_SUCCESS != AL_DB_GetRecord(AL_DB_REQ_GETPARENT, eDBType, AL_RECTYPE_DVBNETWORK, &hNWHdl))
- {
- dvb_printf("Get network handle failed !!!\n");
- return;
- }
- int i,j;
- UINT16 sindex,num;
- UINT16 cnt = 0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0, sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- UINT32 u32CurrentArea = g_stChannelData.Country;
- const AL_DVBT_AreaTable_t * area = NULL;
- APP_Area_GetAreaTableItem(u32CurrentArea,&area);
- AL_TPSects_Info_st *pTemp = (AL_TPSects_Info_st *)area->pTPRegion_Area;
- // 1. get new service list from other tp.
- AL_PSIMon_SimpleSrv_t *srvbuf = (AL_PSIMon_SimpleSrv_t *) zero_malloc(sizeof(AL_PSIMon_SimpleSrv_t)*PSIMON_MAX_OTHERTP_SRV);
- UINT8 *srvnamebuf = (UINT8 *) zero_malloc(DB_DVB_MAX_CHNAME_LEN*PSIMON_MAX_OTHERTP_SRV);
- AL_PSI_Monitor_GetOtherTpServList(srvbuf, srvnamebuf, &num);
- for (sindex = 0; sindex < num; sindex++)
- {
- UINT8 IsFreqFoundInTable = 0;
- INT32 u32Freq = 0;
- if (srvbuf == NULL || srvnamebuf == NULL)
- {
- break;
- }
- // 2. looking for the Tp's parameters from area table
- for (i = (area->SectNum - 1); i >= 0; i--)
- {
- for (j = (pTemp[i].SectTPCount - 1); j >= 0; j--)
- {
- u32Freq = pTemp[i].StartFreq + pTemp[i].stBandWidth.eBandWidth.BaseBandWidth * j * 1000;
- if (srvbuf[sindex].uiFreq == u32Freq
- || srvbuf[sindex].uiFreq - 166 == u32Freq
- || srvbuf[sindex].uiFreq + 167 == u32Freq)
- {
- IsFreqFoundInTable = 1;
- break;
- }
- }
- if (IsFreqFoundInTable)
- {
- break;
- }
- }
- if (IsFreqFoundInTable == 0)
- {
- dvb_printf(" Inexpected error! freq. doesn't find \n");
- continue;
- }
- // 3. check if the TP presents already
- UINT32 totalNum = 0, gotNum = 0;
- AL_Serv_SearchKey_t stSearchKey;
- AL_RecHandle_t hTPHandle = AL_DB_INVALIDHDL;
- stSearchKey.eSearchField = AL_SRV_SEARCHFIELD_FREQ;
- stSearchKey.u32Frequency = u32Freq;
- stSearchKey.eDBType = eDBType;
- stSearchKey.eRecType = AL_RECTYPE_DVBMULTIPLEX;
- AL_DB_SearchRecords((AL_DB_RecordMatchFunc)AL_Serv_MatchRecBySearchKey,
- (al_void *)&stSearchKey, eDBType, AL_RECTYPE_DVBMULTIPLEX, 1, 0, &totalNum, &gotNum, &hTPHandle);
- if(totalNum == 0 || gotNum == 0 || hTPHandle == AL_DB_INVALIDHDL)
- {
- AL_MultiplexDetail_t stTSInfo;
- memset(&stTSInfo, 0, sizeof(AL_MultiplexDetail_t));
- if (AL_DBTYPE_DVB_T == eDBType)
- {
- stTSInfo.stDVBTMultiplex.uiFreqK = u32Freq;
- stTSInfo.stDVBTMultiplex.ucBandwidth = pTemp[i].stBandWidth.eBandWidth.BaseBandWidth;
- stTSInfo.stDVBTMultiplex.ucAreaIndex = u32CurrentArea;
- stTSInfo.stDVBTMultiplex.usTsId = srvbuf[sindex].usTsId;
- #ifdef SUPPORT_HIERARCHY_MODE
- stTSInfo.stDVBTMultiplex.ucHierarchyMode = pTemp[i].U8HierarchyMode;
- #endif
- }
- AL_DB_AddRecord(eDBType, AL_RECTYPE_DVBMULTIPLEX, &stTSInfo, hNWHdl, &hTPHandle);
- }
- // 4. add service to database
- AL_ServiceDetail_t stServInfo;
- AL_RecHandle_t hProg = AL_DB_INVALIDHDL;
- memset(&stServInfo, 0, sizeof(AL_ServiceDetail_t));
- #ifdef NEW_FONT
- al_uint32 u32CodePage = 0xff;
- al_uint8 *pExtText = al_null;
- al_int32 i32Len = 0;
- i32Len = DB_DVB_MAX_CHNAME_LEN;
- AL_Event_GetCodePage(&u32CodePage, srvbuf[sindex].pucname, &i32Len);
- if (u32CodePage == 0xff)
- {
- AL_Event_GetDefaultCodePage(&u32CodePage);
- }
- pExtText = UNI_StringToUtf8(u32CodePage, srvbuf[sindex].pucname, &i32Len, FALSE);
- memset(srvbuf[sindex].pucname, 0, DB_DVB_MAX_CHNAME_LEN);
- i32Len = i32Len < DB_DVB_MAX_CHNAME_LEN? i32Len : DB_DVB_MAX_CHNAME_LEN -1;
- memcpy(srvbuf[sindex].pucname, pExtText, i32Len);//service name
- free(pExtText);
- pExtText = al_null;
- #endif
- if (AL_DBTYPE_DVB_T == eDBType)
- {
- memcpy(stServInfo.stDVBTServ.szProgName, srvbuf[sindex].pucname, DB_DVB_MAX_CHNAME_LEN - 1);
- stServInfo.stDVBTServ.usOrigNetId = srvbuf[sindex].usOrgNetId;
- stServInfo.stDVBTServ.usNetId = srvbuf[sindex].usNetWorkId;
- stServInfo.stDVBTServ.usServiceId = srvbuf[sindex].usServiceId;
- stServInfo.stDVBTServ.usTsId = srvbuf[sindex].usTsId;
- stServInfo.stDVBTServ.usProgNo = srvbuf[sindex].usProgNum;
- #ifdef SUPPORT_LCN
- stServInfo.stDVBTServ.usOrgLcn = srvbuf[sindex].usProgNum;
- #endif
- stServInfo.stDVBTServ.eSDTSrvType = srvbuf[sindex].u8SDTSrvType;
- stServInfo.stDVBTServ.eTvRadioType = srvbuf[sindex].u8SDTSrvType;
- stServInfo.stDVBTServ.stProgAttrib.notvisible = srvbuf[sindex].stProgAttrib.notvisible;
- }
- if(AL_SUCCESS == AL_DB_AddRecord(eDBType, srvbuf[sindex].u8SDTSrvType, &stServInfo, hTPHandle, &hProg))
- {
- dvb_printf("Add service ONID 0x%x TSID 0x%x SID 0x%x\n", stServInfo.stDVBTServ.usOrigNetId, stServInfo.stDVBTServ.usTsId, stServInfo.stDVBTServ.usServiceId);
- ++cnt;
- }
- else
- {
- dvb_printf("Failed to add service 0x%x!\n", stServInfo.stDVBTServ.usServiceId);
- }
- }
- SAFE_FREE(srvbuf);
- SAFE_FREE(srvnamebuf);
- if (cnt)
- {
- //SORT_PARA stSortPara;
- UINT8 bLcnOnOff;
- bLcnOnOff = 0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_SYSINFO, 0,
- sizeof(APP_SETTING_SystemInfo_t), &(g_stSysInfoData));
- bLcnOnOff = g_stSysInfoData.LcnOnOff;
- if (bLcnOnOff == LCN_ON)
- {
- AL_DB_SortRecords(eDBType, AL_RECTYPE_DVBTV, AL_DB_SORTBY_SERVTYPE, al_true);
- AL_DB_SortRecords(eDBType, AL_RECTYPE_DVBRADIO, AL_DB_SORTBY_SERVTYPE, al_true);
- }
- MID_PsiMonStop(FALSE);
- MID_PsiMonStart();
- SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_DVB, FW_MONITOR_UPDATE_SERVICE, 0);
- }
- }
- #endif
- static AL_RecHandle_t _DVBApp_GetNextAvailableServiceEx(AL_DB_EDBType_t eNetType,AL_DB_ERecordType_t eServiceType,AL_RecHandle_t Hprog)
- {
- AL_RecHandle_t hNextProgHdl = AL_DB_INVALIDHDL;
- AL_DB_ERecordType_t eRecType;
- AL_DB_EDBType_t eDBType;
- AL_RecHandle_t hCurTPHdl = Hprog;
- DBServAttrib_t stAttribute;
- AL_DB_GetRecord(AL_DB_REQ_GETPARENT, eNetType, AL_RECTYPE_DVBMULTIPLEX, &hCurTPHdl);
- hNextProgHdl = AL_DB_INVALIDHDL;
- while (AL_SUCCESS == AL_DB_GetChildRecord(hCurTPHdl, &hNextProgHdl)
- && hNextProgHdl != AL_DB_INVALIDHDL)
- {
- AL_DB_GetRecordType(hNextProgHdl, &eDBType, &eRecType);
- memset(&stAttribute, 0, sizeof(DBServAttrib_t));
- AL_DB_QueryDetailFieldByName(hNextProgHdl, (al_uint8 *)"stProgAttrib", (al_void *)&stAttribute);
- if((eRecType==eServiceType)&&(stAttribute.unStable == al_false)&&(stAttribute.delete== al_false)
- && (stAttribute.notvisible == al_false))
- {
- return hNextProgHdl;
- }
- }
- if(hNextProgHdl!=AL_DB_INVALIDHDL)
- {
- dvb_printf("Get Next Service Successfully!\n");
- }
- else
- {
- dvb_printf("Get Next Service Failed!\n");
- }
- return hNextProgHdl;
- }
- AL_RecHandle_t DVBApp_GetNextAvailableService(AL_DB_EDBType_t eNetType,AL_DB_ERecordType_t eServiceType,AL_RecHandle_t hCurrProgHdl)
- {
- AL_RecHandle_t hNextProgHdl = AL_DB_INVALIDHDL;
- hNextProgHdl = _DVBApp_GetNextAvailableServiceEx(eNetType,eServiceType,hCurrProgHdl);
- if(hNextProgHdl == AL_DB_INVALIDHDL)
- {
- if(eServiceType == AL_RECTYPE_DVBTV)
- {
- eServiceType = AL_RECTYPE_DVBRADIO;
- hNextProgHdl = _DVBApp_GetNextAvailableServiceEx(eNetType,eServiceType,hCurrProgHdl);
- if(hNextProgHdl == AL_DB_INVALIDHDL)
- {
- eServiceType = AL_RECTYPE_DVBDATA;
- hNextProgHdl = _DVBApp_GetNextAvailableServiceEx(eNetType,eServiceType,hCurrProgHdl);
- if(hNextProgHdl == AL_DB_INVALIDHDL)
- {
- dvb_printf("DATABASE Empty!!!\n\n");
- }
- }
- }
- else if(eServiceType == AL_RECTYPE_DVBRADIO)
- {
- eServiceType = AL_RECTYPE_DVBTV;
- hNextProgHdl = _DVBApp_GetNextAvailableServiceEx(eNetType,eServiceType,hCurrProgHdl);
- if(hNextProgHdl == AL_DB_INVALIDHDL)
- {
- eServiceType = AL_RECTYPE_DVBDATA;
- hNextProgHdl = _DVBApp_GetNextAvailableServiceEx(eNetType,eServiceType,hCurrProgHdl);
- if(hNextProgHdl == AL_DB_INVALIDHDL)
- {
- dvb_printf("DATABASE Empty!!!\n\n");
- }
- }
- }
- else
- {
- eServiceType = AL_RECTYPE_DVBTV;
- hNextProgHdl = _DVBApp_GetNextAvailableServiceEx(eNetType,eServiceType,hCurrProgHdl);
- if(hNextProgHdl == AL_DB_INVALIDHDL)
- {
- eServiceType = AL_RECTYPE_DVBRADIO;
- hNextProgHdl = _DVBApp_GetNextAvailableServiceEx(eNetType,eServiceType,hCurrProgHdl);
- if(hNextProgHdl == AL_DB_INVALIDHDL)
- {
- dvb_printf("DATABASE Empty!!!\n\n");
- }
- }
- }
- }
- if(hNextProgHdl == AL_DB_INVALIDHDL)
- {
- dvb_printf("\n!!!!!!!!!DVBApp_GetNextAvailableService Failed!!!\n\n");
- }
- else
- {
- dvb_printf("\n!!!!!!!!!DVBApp_GetNextAvailableService Successfully!!!\n\n");
- }
- return hNextProgHdl;
- }
- void DVBApp_RemoveUnstableService(void)
- {
- AL_RecHandle_t hCurrProgHdl = AL_DB_INVALIDHDL;
- AL_RecHandle_t hNextProgHdl = AL_DB_INVALIDHDL;
- AL_RecHandle_t hPrevProgHdl = AL_DB_INVALIDHDL;
- AL_RecHandle_t hServHdl = AL_DB_INVALIDHDL;
- AL_RecHandle_t hCurrTpHdl = AL_DB_INVALIDHDL;
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- AL_DB_ERecordType_t eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- DBServAttrib_t stAttribute;
- al_uint16 usTsId = 0xffff;
- al_uint16 usOrigNetId = 0xffff;
- al_uint16 usServiceId = 0xffff;
- APP_DVB_Playback_GetCurrServiceType(eNetType);
- //add for Background scan fail will show DATABASE_EMPTY begin
- bool g_bScanSuccessFlag = FALSE;
- hCurrProgHdl = APP_DVB_Playback_GetCurrentProgHandle(eNetType,eServiceType);
- hCurrTpHdl = hCurrProgHdl;
- AL_DB_GetRecord(AL_DB_REQ_GETPARENT, eNetType, AL_RECTYPE_DVBMULTIPLEX, &hCurrTpHdl);
- hServHdl = AL_DB_INVALIDHDL;
- while (AL_SUCCESS == AL_DB_GetChildRecord(hCurrTpHdl, &hServHdl)
- && hServHdl != AL_DB_INVALIDHDL)
- {
- memset(&stAttribute, 0, sizeof(DBServAttrib_t));
- if(AL_SUCCESS != AL_DB_QueryDetailFieldByName(hServHdl, (al_uint8 *)"stProgAttrib", (al_void *)&stAttribute))
- {
- continue;
- }
- if(stAttribute.delete == al_true)
- {
- continue;
- }
- if(stAttribute.unStable == al_false)// Background scan SUCCESS
- {
- g_bScanSuccessFlag = al_true;
- break;
- }
- }
- if(g_bScanSuccessFlag == al_false)
- {
- printf("[%s:%d] background scan failed\n",__FUNCTION__,__LINE__);
- hServHdl = AL_DB_INVALIDHDL;
- while (AL_SUCCESS == AL_DB_GetChildRecord(hCurrTpHdl, &hServHdl)
- && hServHdl != AL_DB_INVALIDHDL)
- {
- memset(&stAttribute, 0, sizeof(DBServAttrib_t));
- if(AL_SUCCESS != AL_DB_QueryDetailFieldByName(hServHdl, (al_uint8 *)"stProgAttrib", (al_void *)&stAttribute))
- {
- continue;
- }
- if(stAttribute.unStable == al_true)
- {
- stAttribute.unStable = al_false;
- }
- AL_DB_UpdateDetailFieldByName(hServHdl, (al_uint8 *)"stProgAttrib", (al_void *)&stAttribute);
- }
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK,APP_DVB_INTRA_EVENT_START_PLAYBACK,0);
- return; // if Background scan fail,don't remove Prog
- }
- //add for Background scan fail will show DATABASE_EMPTY end
- hCurrProgHdl = APP_DVB_Playback_GetCurrentProgHandle(eNetType,eServiceType);
- hCurrTpHdl = hCurrProgHdl;
- memset(&stAttribute, 0, sizeof(DBServAttrib_t));
- AL_DB_QueryDetailFieldByName(hCurrProgHdl, (al_uint8 *)"stProgAttrib", (al_void *)&stAttribute);
- if (stAttribute.unStable == al_true)
- {
- hNextProgHdl = DVBApp_GetNextAvailableService(eNetType,eServiceType,hCurrProgHdl);
- }
- AL_DB_GetRecord(AL_DB_REQ_GETPARENT, eNetType, AL_RECTYPE_DVBMULTIPLEX, &hCurrTpHdl);
- #ifdef CONFIG_DVB_SYSTEM_DVBT2_SUPPORT
- extern Boolean bT2HideScanProgUnstableFlag;
- if (bT2HideScanProgUnstableFlag)//for DVB-T2
- {
- AL_RecHandle_t hTempTPHandle = AL_DB_INVALIDHDL;
- AL_RecHandle_t hProg = AL_DB_INVALIDHDL;
- AL_MultiplexDetail_t ts;
- AL_DB_QueryDetail(hCurrTpHdl, &ts);
- hPrevProgHdl = APP_DVB_Playback_GetPrevProg(eNetType);
- AL_MultiplexDetail_t stTSInfo;
- memset(&stTSInfo, 0, sizeof(AL_MultiplexDetail_t));
- hTempTPHandle = AL_DB_INVALIDHDL;
- if (AL_SUCCESS == AL_DB_GetRecord(AL_DB_REQ_GETFIRST, AL_DBTYPE_DVB_T, AL_RECTYPE_DVBMULTIPLEX, &hTempTPHandle))
- {
- do
- {
- if (AL_SUCCESS == AL_DB_QueryDetail(hTempTPHandle, &stTSInfo))
- {
- if (stTSInfo.stDVBTMultiplex.ucTp_dvb_type == EDVB_DELIVER_TYPE_T2)
- {
- if(ABSV(ts.stDVBTMultiplex.uiFreqK,stTSInfo.stDVBTMultiplex.uiFreqK)<(stTSInfo.stDVBTMultiplex.ucBandwidth*500))
- {
- hProg = AL_DB_INVALIDHDL;
- while (AL_DB_GetChildRecord(hTempTPHandle, &hProg) == AL_SUCCESS && hProg != AL_DB_INVALIDHDL)
- {
- memset(&stAttribute, 0, sizeof(DBServAttrib_t));
- if(AL_SUCCESS != AL_DB_QueryDetailFieldByName(hProg, (al_uint8 *)"stProgAttrib", (al_void *)&stAttribute))
- {
- continue;
- }
- if ((AL_SUCCESS != AL_DB_QueryDetailFieldByName(hProg, (al_uint8 *)"usTsId", (al_void *)&usTsId))
- || (AL_SUCCESS != AL_DB_QueryDetailFieldByName(hProg, (al_uint8 *)"usOrigNetId", (al_void *)&usOrigNetId))
- || (AL_SUCCESS != AL_DB_QueryDetailFieldByName(hProg, (al_uint8 *)"usServiceId", (al_void *)&usServiceId)))
- {
- printf("Get service info failed!!!\n");
- }
- if(stAttribute.unStable == al_true)
- {
- dvb_printf("====unStable remove! hProg=0x%x====\n", hProg);
- if (AL_DB_RemoveRecord(hProg) == AL_SUCCESS)
- {
- AL_Event_UnLockChannels(AL_DBTYPE_DVB_T, usOrigNetId, usTsId, usServiceId);
- hProg = AL_DB_INVALIDHDL;
- }
- else
- {
- printf("remove service failed!!!\n");
- }
- if(hPrevProgHdl != AL_DB_INVALIDHDL)
- {
- if(hProg == hPrevProgHdl)
- {
- APP_DVB_Playback_SetPrevProg(eNetType,AL_DB_INVALIDHDL);
- hPrevProgHdl = AL_DB_INVALIDHDL;
- }
- }
- hProg = AL_DB_INVALIDHDL;
- }
- }
- }
- }
- }
- } while(AL_DB_GetRecord(AL_DB_REQ_GETNEXT, AL_DBTYPE_DVB_T, AL_RECTYPE_DVBMULTIPLEX, &hTempTPHandle) == AL_SUCCESS);
- }
- bT2HideScanProgUnstableFlag = FALSE;
- }
- else
- #endif
- {
- hServHdl = AL_DB_INVALIDHDL;
- hPrevProgHdl = APP_DVB_Playback_GetPrevProg(eNetType);
- while (AL_SUCCESS == AL_DB_GetChildRecord(hCurrTpHdl, &hServHdl)
- && hServHdl != AL_DB_INVALIDHDL)
- {
- memset(&stAttribute, 0, sizeof(DBServAttrib_t));
- if(AL_SUCCESS != AL_DB_QueryDetailFieldByName(hServHdl, (al_uint8 *)"stProgAttrib", (al_void *)&stAttribute))
- {
- continue;
- }
- if ((AL_SUCCESS != AL_DB_QueryDetailFieldByName(hServHdl, (al_uint8 *)"usTsId", (al_void *)&usTsId))
- || (AL_SUCCESS != AL_DB_QueryDetailFieldByName(hServHdl, (al_uint8 *)"usOrigNetId", (al_void *)&usOrigNetId))
- || (AL_SUCCESS != AL_DB_QueryDetailFieldByName(hServHdl, (al_uint8 *)"usServiceId", (al_void *)&usServiceId)))
- {
- printf("Get service info failed!!!\n");
- }
- if(stAttribute.unStable == al_true)
- {
- if (AL_DB_RemoveRecord(hServHdl) == AL_SUCCESS)
- {
- AL_Event_UnLockChannels(AL_DBTYPE_DVB_T, usOrigNetId, usTsId, usServiceId);
- }
- else
- {
- printf("remove service failed!!!\n");
- }
- if(hPrevProgHdl != AL_DB_INVALIDHDL)
- {
- if(hServHdl == hPrevProgHdl)
- {
- APP_DVB_Playback_SetPrevProg(eNetType,AL_DB_INVALIDHDL);
- hPrevProgHdl = AL_DB_INVALIDHDL;
- }
- }
- hServHdl = AL_DB_INVALIDHDL;
- }
- }
- }
- #ifdef SUPPORT_LCN
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_SYSINFO, 0,
- sizeof(APP_SETTING_SystemInfo_t), &(g_stSysInfoData));
- #ifdef SUPPORT_DVBS_LCN
- if (g_stSysInfoData.LcnOnOff == LCN_ON && (eNetType == AL_DBTYPE_DVB_T || eNetType == AL_DBTYPE_DVB_C|| eNetType == AL_DBTYPE_DVB_S))
- #else
- if (g_stSysInfoData.LcnOnOff == LCN_ON && (eNetType == AL_DBTYPE_DVB_T || eNetType == AL_DBTYPE_DVB_C))
- #endif
- {
- DBLCNConfInfo_t *pLcnConf = AL_LCN_GetLCNConfChannel();
- LCN_PreJudgeLCN();
- LCN_QueryLCNConflict(pLcnConf);
- if (pLcnConf->ConfCount > 0)
- {
- LCN_AutoAssignConflictLCN();
- }
- LCN_PostJudgeLCN();
- }
- #endif
- LCN_FreeLCNConflict();
- LCN_FreeTRNDDictionary();
- APP_DVB_ChannelOrderChecking();
- APP_DVB_DataSavingToDB(eNetType);
- #ifdef CONFIG_SUPPORT_PVR
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- if ((hNextProgHdl != AL_DB_INVALIDHDL) &&
- (hNextProgHdl != hCurrProgHdl))
- {
- AL_DB_GetRecordType(hNextProgHdl, &eNetType, &eServiceType);
- APP_DVB_Playback_SetCurrentProgHandle(eNetType, eServiceType, hNextProgHdl);
- APP_DVB_Playback_SetCurrServiceType(eNetType,eServiceType);
- }
- dvb_printf("===lxl test %s is called. now PVR is playing ===\n", __FUNCTION__);
- return;
- }
- #endif
- if ((hNextProgHdl != AL_DB_INVALIDHDL) &&
- (hNextProgHdl != hCurrProgHdl))
- {
- _DVBApp_Zapping(eServiceType, hNextProgHdl, TRUE, 0, TRUE);
- }
- else
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK,APP_DVB_INTRA_EVENT_START_PLAYBACK,0);
- }
- }
- static void _DVBApp_SimulcaseDispose(UINT32 u32Param)
- {
- AL_RecHandle_t hProgHdl = AL_DB_INVALIDHDL;
- AL_RecHandle_t hCurrProgHdl = AL_DB_INVALIDHDL;
- AL_RecHandle_t hCurrTpHdl = AL_DB_INVALIDHDL;
- AL_RecHandle_t hServHdl = AL_DB_INVALIDHDL;
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- AL_DB_ERecordType_t eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- al_bool bPlay = al_false;
- al_uint16 usTsId = 0xffff;
- al_uint16 usOrigNetId = 0xffff;
- al_uint16 usServiceId = 0xffff;
- hProgHdl = (AL_RecHandle_t)u32Param;
- APP_DVB_Playback_GetCurrServiceType(eNetType);
- hCurrProgHdl = APP_DVB_Playback_GetCurrentProgHandle(eNetType,eServiceType);
- if (hCurrProgHdl == hProgHdl)
- {
- hCurrTpHdl = hCurrProgHdl;
- AL_DB_GetRecord(AL_DB_REQ_GETPARENT, eNetType, AL_RECTYPE_DVBMULTIPLEX, &hCurrTpHdl);
- while (AL_SUCCESS == AL_DB_GetChildRecord(hCurrTpHdl, &hServHdl))
- {
- if ((hServHdl == AL_DB_INVALIDHDL) || (hServHdl == hProgHdl))
- {
- continue;
- }
- bPlay = al_true;
- _DVBApp_Zapping(eServiceType, hServHdl, TRUE, 0, TRUE);
- }
- if (!bPlay)
- {
- if ((AL_SUCCESS == AL_DB_GetRecord(AL_DB_REQ_GETFIRST, eNetType, eServiceType, &hServHdl))
- && (hServHdl != AL_DB_INVALIDHDL))
- {
- if (hServHdl == hProgHdl)
- {
- if (AL_SUCCESS == AL_DB_GetRecord(AL_DB_REQ_GETNEXT, eNetType, eServiceType, &hServHdl))
- {
- _DVBApp_Zapping(eServiceType, hServHdl, TRUE, 0, TRUE);
- }
- else
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK,
- APP_DVB_INTRA_EVENT_STOP_PLAYBACK, PLAYBACK_STOP_ALL);
- }
- }
- else
- {
- _DVBApp_Zapping(eServiceType, hServHdl, TRUE, 0, TRUE);
- }
- }
- else
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK,
- APP_DVB_INTRA_EVENT_STOP_PLAYBACK, PLAYBACK_STOP_ALL);
- }
- }
- }
- if ((AL_SUCCESS != AL_DB_QueryDetailFieldByName(hProgHdl, (al_uint8 *)"usTsId", (al_void *)&usTsId))
- || (AL_SUCCESS != AL_DB_QueryDetailFieldByName(hProgHdl, (al_uint8 *)"usOrigNetId", (al_void *)&usOrigNetId))
- || (AL_SUCCESS != AL_DB_QueryDetailFieldByName(hProgHdl, (al_uint8 *)"usServiceId", (al_void *)&usServiceId)))
- {
- printf("Get service info failed!!!\n");
- }
- if (AL_DB_RemoveRecord(hProgHdl) == AL_SUCCESS)
- {
- AL_Event_UnLockChannels(eNetType, usOrigNetId, usTsId, usServiceId);
- }
- else
- {
- printf("remove service failed!!!\n");
- }
- APP_DVB_DataSavingToDB(eNetType);
- }
- static void _DVBApp_ServiceMove(void)
- {
- UINT16 u16CurServiceId = 0;
- AL_PsiMon_NewSrvPosition_t stNewLoction;
- UINT16 i = 0;
- UINT16 u16TpNumber = 0;
- UINT16 u16TsId = 0;
- AL_RecHandle_t itphdl = AL_DB_INVALIDHDL;
- AL_RecHandle_t hProg = AL_DB_INVALIDHDL;
- AL_MultiplexDetail_t stTSInfo;
- AL_DB_EDBType_t eNetType = AL_DBTYPE_MAX;
- AL_ServiceDetail_t stServInfo;
- APP_Source_Type_t eSourType = APP_SOURCE_MAX;
- AL_DB_ERecordType_t service_type = AL_RECTYPE_MAX;
- APP_GUIOBJ_Source_GetCurrSource(&eSourType);
- APP_Database_GetCurrentDBType(eSourType, &eNetType);
- memset(&stServInfo, 0, sizeof(AL_ServiceDetail_t));
- memset(&stTSInfo, 0, sizeof(AL_MultiplexDetail_t));
- hProg = APP_DVB_Playback_GetCurrentProgHandle(eNetType, (AL_RECTYPE_DVBTV |AL_RECTYPE_DVBRADIO|AL_RECTYPE_DVBDATA));
- AL_DB_QueryDetail(hProg, (al_void *)&stServInfo);
- if (eNetType == AL_DBTYPE_DVB_C)
- {
- u16CurServiceId = stServInfo.stDVBCServ.usServiceId;
- }
- else if (eNetType == AL_DBTYPE_DVB_T)
- {
- u16CurServiceId = stServInfo.stDVBTServ.usServiceId;
- }
- else if (eNetType == AL_DBTYPE_DVB_S)
- {
- u16CurServiceId = stServInfo.stDVBSServ.usServiceId;
- }
- AL_PSI_Monitor_GetNewSrvPosition(&stNewLoction);
- if (u16CurServiceId != stNewLoction.usOldServiceId)
- {
- //the program has changed, no need to do anything
- return;
- }
- AL_DB_GetRecordsTotalNum(eNetType, AL_RECTYPE_DVBMULTIPLEX, (al_uint32 *)&u16TpNumber);
- for (i = 0; i < u16TpNumber; i++)
- {
- APP_Database_GetHandleByIndex(eNetType, AL_RECTYPE_DVBMULTIPLEX, i, &itphdl);
- AL_DB_QueryDetail(itphdl, (al_void *)&stTSInfo);
- if (eNetType == AL_DBTYPE_DVB_C)
- {
- u16TsId = stTSInfo.stDVBCMultiplex.usTsId;
- }
- else if (eNetType == AL_DBTYPE_DVB_S)
- {
- u16TsId = stTSInfo.stDVBSMultiplex.usTsId;
- }
- else
- {
- u16TsId = stTSInfo.stDVBTMultiplex.usTsId;
- }
- if(stNewLoction.usTsId == u16TsId)
- {
- break;
- }
- }
- if (i == u16TpNumber)
- {
- return;
- }
- if (APP_DVB_ProgMgr_Query(&service_type, &hProg,
- stNewLoction.usOrgNetId, stNewLoction.usTsId, stNewLoction.usServiceId) == AL_SUCCESS)
- {
- //the service will be remove after remove procedure
- }
- else
- {
- if (eNetType == AL_DBTYPE_DVB_C)
- {
- #ifdef CONFIG_DVB_SYSTEM_DVBC_SUPPORT
- stServInfo.stDVBCServ.usOrigNetId = stNewLoction.usOrgNetId;
- stServInfo.stDVBCServ.usTsId = stNewLoction.usTsId;
- stServInfo.stDVBCServ.usServiceId = stNewLoction.usServiceId;
- AL_DB_UpdateDetailField(hProg, FIELD_OFFSET(SCDBServInfo_t, usOrigNetId),
- FIELD_SIZEOF(SCDBServInfo_t, usOrigNetId), (al_void *)&(stNewLoction.usOrgNetId));
- AL_DB_UpdateDetailField(hProg, FIELD_OFFSET(SCDBServInfo_t, usTsId),
- FIELD_SIZEOF(SCDBServInfo_t, usTsId), (al_void *)&(stNewLoction.usTsId));
- AL_DB_UpdateDetailField(hProg, FIELD_OFFSET(SCDBServInfo_t, usServiceId),
- FIELD_SIZEOF(SCDBServInfo_t, usServiceId), (al_void *)&(stNewLoction.usServiceId));
- service_type = g_stTVInfoData.DVBC_ServType;
- #endif
- }
- else if (eNetType == AL_DBTYPE_DVB_T)
- {
- #ifdef CONFIG_DVB_SYSTEM_DVBT_SUPPORT
- stServInfo.stDVBTServ.usOrigNetId = stNewLoction.usOrgNetId;
- stServInfo.stDVBTServ.usTsId = stNewLoction.usTsId;
- stServInfo.stDVBTServ.usServiceId = stNewLoction.usServiceId;
- AL_DB_UpdateDetailField(hProg, FIELD_OFFSET(STDBServInfo_t, usOrigNetId),
- FIELD_SIZEOF(STDBServInfo_t, usOrigNetId), (al_void *)&(stNewLoction.usOrgNetId));
- AL_DB_UpdateDetailField(hProg, FIELD_OFFSET(STDBServInfo_t, usTsId),
- FIELD_SIZEOF(STDBServInfo_t, usTsId), (al_void *)&(stNewLoction.usTsId));
- AL_DB_UpdateDetailField(hProg, FIELD_OFFSET(STDBServInfo_t, usServiceId),
- FIELD_SIZEOF(STDBServInfo_t, usServiceId), (al_void *)&(stNewLoction.usServiceId));
- service_type = g_stTVInfoData.DVBT_ServType;
- #endif
- }
- else if (eNetType == AL_DBTYPE_DVB_S)
- {
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- stServInfo.stDVBSServ.usOrigNetId = stNewLoction.usOrgNetId;
- stServInfo.stDVBSServ.usTsId = stNewLoction.usTsId;
- stServInfo.stDVBSServ.usServiceId = stNewLoction.usServiceId;
- AL_DB_UpdateDetailField(hProg, FIELD_OFFSET(SDBServInfo_t, usOrigNetId),
- FIELD_SIZEOF(SDBServInfo_t, usOrigNetId), (al_void *)&(stNewLoction.usOrgNetId));
- AL_DB_UpdateDetailField(hProg, FIELD_OFFSET(SDBServInfo_t, usTsId),
- FIELD_SIZEOF(SDBServInfo_t, usTsId), (al_void *)&(stNewLoction.usTsId));
- AL_DB_UpdateDetailField(hProg, FIELD_OFFSET(SDBServInfo_t, usServiceId),
- FIELD_SIZEOF(SDBServInfo_t, usServiceId), (al_void *)&(stNewLoction.usServiceId));
- service_type = g_stTVInfoData.DVBS_ServType;
- #endif
- }
- hProg = APP_DVB_Playback_GetCurrentProgHandle(eNetType, service_type);
- }
- APP_DVB_Playback_SetNextServiceType(service_type);
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, APP_DVB_GLOBAL_EVENT_ZAPPING|PASS_TO_SYSAPP, hProg);
- }
- #ifdef MP4_SUB_PREFER_LANG
- static void _DVBApp_SetMp4SubcodepagebyPreferLang(void)
- {
- int dret = 0;
- LANGName_t eMp4SubCodePage = 0;
- eMp4SubCodePage = Dvb_GetCurMP4FontCodePage(Dvb_GetCurMP4CodePageType(NULL), NULL);
- dret = FMW_SetSUBTOSDCodePage((int)eMp4SubCodePage);
- return ;
- }
- #endif
- static INT32 _DVBApp_BackgroundMonitor_Init(void)
- {
- #if defined(CONFIG_SUPPORT_OTA_UPGRADE)
- OtaMonComCallback_t callback;
- callback._pfMonDSICallbk = APP_DVB_OTACallback;
- callback._pfMonONIDCallb = APP_DVB_CheckIsONIDMatched;
- callback._pfMonEXITCallb = APP_DVB_OTAMonExitCallback;
- callback._pfMonStateCallbk = APP_DVB_NotifyOTAState;
- Mid_CmnUpgradeRigestCallback((Callbackfunction)&APP_Data_Upgrade_ProtectData);
- if (MID_OtaMonInit(callback) == MID_SUCCESS)
- {
- MID_OTA_GetOTAInitInfo_FromFlah();
- dvb_printf("Ota Mutex Create success \n");
- #ifdef CONFIG_SUPPORT_SSU_ENHANCE_UPGRADE
- MID_OtaMonUntInit(APP_DVB_OTASECallback);
- #endif
- }
- else
- {
- dvb_printf("Ota Mutex Create Failed \n");
- }
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- MHEG5APP_Init();
- MHEG5APP_RegistCallback(APP_DVB_Mheg5_Callback);
- #ifdef CONFIG_SUPPORT_MHEG5_ICS
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0, sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0, sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_SYSINFO, 0, sizeof(APP_SETTING_SystemInfo_t), &(g_stSysInfoData));
- MHEG5_ICS_SetPinStatus(g_stFeatureData.ChildLock);
- if(g_stSysInfoData.progrmADSwitch == AUDIO_AD_ON)
- {
- MHEG5_SetAudioDescPref(TRUE);
- }
- else
- {
- MHEG5_SetAudioDescPref(FALSE);
- }
- if(g_stUserInfoData.Subtitle == APP_SWITCH_ON)
- {
- MHEG5_SetSubtitlePref(TRUE);
- }
- else
- {
- MHEG5_SetSubtitlePref(FALSE);
- }
- UINT8 *primaryAudio = APP_Language_GetISO639ByIndx(g_stFeatureData.PreferredAudio1st, APP_DATA_LANG_TYPE_MULTIAUDIO);
- primaryAudio = primaryAudio ? primaryAudio : APP_Language_GetISO639_2ByIndx(g_stFeatureData.PreferredAudio1st, APP_DATA_LANG_TYPE_MULTIAUDIO);
- UINT8 *secondaryAudio = NULL;
- #ifdef SUPPORT_2ND_PREFER_AUDIO
- secondaryAudio = APP_Language_GetISO639ByIndx(g_stFeatureData.PreferredAudio2nd, APP_DATA_LANG_TYPE_MULTIAUDIO);
- secondaryAudio = secondaryAudio ? secondaryAudio : APP_Language_GetISO639_2ByIndx(g_stFeatureData.PreferredAudio2nd, APP_DATA_LANG_TYPE_MULTIAUDIO);
- #endif
- UINT8 *primarySubtitle = APP_Language_GetISO639ByIndx(g_stFeatureData.PreferredSubtitle1st, APP_DATA_LANG_TYPE_SUBTITLE);
- primarySubtitle = primarySubtitle ? primarySubtitle : APP_Language_GetISO639_2ByIndx(g_stFeatureData.PreferredSubtitle1st, APP_DATA_LANG_TYPE_SUBTITLE);
- UINT8 *secondarySubtitle = NULL;
- #ifdef SUPPORT_2ND_PREFER_SUBTITLE
- secondarySubtitle = APP_Language_GetISO639ByIndx(g_stFeatureData.PreferredSubtitle2nd, APP_DATA_LANG_TYPE_SUBTITLE);
- secondarySubtitle = secondarySubtitle ? secondarySubtitle : APP_Language_GetISO639_2ByIndx(g_stFeatureData.PreferredSubtitle2nd, APP_DATA_LANG_TYPE_SUBTITLE);
- #endif
- MHEG5_ICS_SetPrefAudioLang((char*)primaryAudio, (char*)secondaryAudio);
- MHEG5_ICS_SetPrefSubtLang((char*)primarySubtitle, (char*)secondarySubtitle);
- #endif
- #endif
- #ifdef CONFIG_CI_SUPPORT
- #ifndef CONFIG_CIPLUS_SUPPORT
- //extern void MID_CI_DateTimeUpdate(void * pData);
- //AddTDTMonitoringListener(MON_LISTENER_ID_CODE_FINAL, MID_CI_DateTimeUpdate);
- #endif
- #endif
- return SP_SUCCESS;
- }
- static void _DVBApp_EpgInit(void)
- {
- UINT8 u8SysSet;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- #ifndef CONFIG_EPG_LANG_DEFAULT_BY_OSDLANG
- u8SysSet = g_stFeatureData.DigitalTTLang;
- #else
- u8SysSet = g_stFeatureData.OSDLang;
- #endif
- APP_DVB_EPG_SetEpgLanguage(u8SysSet);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- u8SysSet = g_stChannelData.Country;
- if (u8SysSet >= MAX_AREA)
- {
- u8SysSet = 0;
- }
- AL_Event_SetCountryCode(APP_Area_GetCountryCode(u8SysSet));
- #ifdef CONFIG_DVB_SYSTEM
- if (APP_Area_SupportDtg())
- {
- AL_Event_SetDTGSupport(al_true);
- }
- else
- #endif
- {
- AL_Event_SetDTGSupport(al_false);
- }
- }
- #if (defined(CONFIG_DVB_SYSTEM_DVBS_SUPPORT)||defined(CONFIG_DVB_SYSTEM_DVBT_SUPPORT)||defined(CONFIG_DVB_SYSTEM_DVBC_SUPPORT))
- static al_bool _DVBApp_SerMatch(al_void const *pRec, al_void const *pRecToAdd)
- {
- al_bool matchFlag = FALSE;
- al_uint8 area = 0;
- AL_ServiceDetail_t *ServInfor = (AL_ServiceDetail_t *)pRec;
- AL_ServiceDetail_t *AddServInfor = (AL_ServiceDetail_t *)pRecToAdd;
- AL_DB_EDBType_t eDBType = AL_DBTYPE_MAX;
- APP_Database_GetCurrentDBType(APP_SOURCE_DTV, &eDBType);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- area = g_stChannelData.Country;
- #ifdef CONFIG_CIPLUS_SUPPORT
- #ifdef CONFIG_DVB_SYSTEM_DVBT_SUPPORT
- if( AL_DBTYPE_DVB_T==eDBType && (ServInfor->stDVBTServ.stProgAttrib.isProfileServ || AddServInfor->stDVBTServ.stProgAttrib.isProfileServ) )
- return al_false;
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBC_SUPPORT
- if( AL_DBTYPE_DVB_C==eDBType && (ServInfor->stDVBCServ.stProgAttrib.isProfileServ || AddServInfor->stDVBCServ.stProgAttrib.isProfileServ) )
- return al_false;
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- if( AL_DBTYPE_DVB_S==eDBType && (ServInfor->stDVBSServ.stProgAttrib.isProfileServ || AddServInfor->stDVBSServ.stProgAttrib.isProfileServ) )
- return al_false;
- #endif
- #endif
- #ifdef SUPPORT_DELETE_SAME_SERVICES
- int u16DeleteSameServices = 0;//0: default(expect: Russia need save same services) 1: on(keep current method) 2: off(save same services)
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
- sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
- u16DeleteSameServices = g_stFactoryUserData.Function.n_Funct_DeleteSameServices;
- if (2 == u16DeleteSameServices)// 2: save same services
- {
- matchFlag = 0;
- }
- else
- #endif
- {
- switch (area)
- {
- #ifdef CONFIG_DVB_SYSTEM
- case AREA_ENGLAND:
- /*
- ** Refer to page 37 fo NorDig Unified ver 2.1:
- ** A service is uniquely identified by its DVB triplet (original_network_id, transport_stream_id and
- ** service_id) in all NorDig compliant terrestrial networks, except for the Norwegian terrestrial network,
- ** where only original_network_id and service_id are used to identify a service.
- */
- case AREA_NORWAY:
- if (AL_DBTYPE_DVB_T == eDBType)
- {
- matchFlag = ((ServInfor->stDVBTServ.usOrigNetId == AddServInfor->stDVBTServ.usOrigNetId)
- && (ServInfor->stDVBTServ.usServiceId == AddServInfor->stDVBTServ.usServiceId)
- && (ServInfor->stDVBTServ.eTvRadioType == AddServInfor->stDVBTServ.eTvRadioType));
- }
- else if (AL_DBTYPE_DVB_C == eDBType)
- {
- matchFlag = ((ServInfor->stDVBCServ.usOrigNetId == AddServInfor->stDVBCServ.usOrigNetId)
- && (ServInfor->stDVBCServ.usServiceId == AddServInfor->stDVBCServ.usServiceId)
- && (ServInfor->stDVBCServ.eTvRadioType == AddServInfor->stDVBCServ.eTvRadioType));
- }
- else if (AL_DBTYPE_DVB_S == eDBType)
- {
- matchFlag = ((ServInfor->stDVBSServ.usOrigNetId == AddServInfor->stDVBSServ.usOrigNetId)
- && (ServInfor->stDVBSServ.usServiceId == AddServInfor->stDVBSServ.usServiceId)
- && (ServInfor->stDVBSServ.eTvRadioType == AddServInfor->stDVBSServ.eTvRadioType));
- }
- break;
- #ifdef SCAN_FREQ_OFFSET_RANGE_ENLARGE
- case AREA_FRANCE:
- if (AL_DBTYPE_DVB_T == eDBType)
- {
- matchFlag = ((ServInfor->stDVBTServ.usOrigNetId == AddServInfor->stDVBTServ.usOrigNetId)
- && (ServInfor->stDVBTServ.usServiceId == AddServInfor->stDVBTServ.usServiceId)
- && (ServInfor->stDVBTServ.eTvRadioType == AddServInfor->stDVBTServ.eTvRadioType));
- }
- else if (AL_DBTYPE_DVB_C == eDBType)
- {
- matchFlag = ((ServInfor->stDVBCServ.usOrigNetId == AddServInfor->stDVBCServ.usOrigNetId)
- && (ServInfor->stDVBCServ.usServiceId == AddServInfor->stDVBCServ.usServiceId)
- && (ServInfor->stDVBCServ.eTvRadioType == AddServInfor->stDVBCServ.eTvRadioType));
- }
- else if (AL_DBTYPE_DVB_S == eDBType)
- {
- matchFlag = ((ServInfor->stDVBSServ.usOrigNetId == AddServInfor->stDVBSServ.usOrigNetId)
- && (ServInfor->stDVBSServ.usServiceId == AddServInfor->stDVBSServ.usServiceId)
- && (ServInfor->stDVBSServ.eTvRadioType == AddServInfor->stDVBSServ.eTvRadioType));
- }
- break;
- #endif
- case AREA_ITALY:
- case AREA_SPAIN:
- case AREA_NETHERLANDS:
- case AREA_FINLAND:
- case AREA_SWEDEN:
- case AREA_DENMARK:
- #endif
- #ifdef CONFIG_AUS_DVB_SYSTEM
- case AREA_AUSTRALIA:
- case AREA_NEW_ZEALAND:
- case AREA_SINGAPORE:
- case AREA_AUS_OTHER:
- if (AL_DBTYPE_DVB_T == eDBType)
- {
- matchFlag = ((ServInfor->stDVBTServ.usOrigNetId == AddServInfor->stDVBTServ.usOrigNetId)
- && (ServInfor->stDVBTServ.usServiceId == AddServInfor->stDVBTServ.usServiceId)
- && (ServInfor->stDVBTServ.usTsId == AddServInfor->stDVBTServ.usTsId)
- && (ServInfor->stDVBTServ.eTvRadioType == AddServInfor->stDVBTServ.eTvRadioType));
- }
- else if (AL_DBTYPE_DVB_C == eDBType)
- {
- matchFlag = ((ServInfor->stDVBCServ.usOrigNetId == AddServInfor->stDVBCServ.usOrigNetId)
- && (ServInfor->stDVBCServ.usServiceId == AddServInfor->stDVBCServ.usServiceId)
- && (ServInfor->stDVBCServ.usTsId == AddServInfor->stDVBCServ.usTsId)
- && (ServInfor->stDVBCServ.eTvRadioType == AddServInfor->stDVBCServ.eTvRadioType));
- }
- else if (AL_DBTYPE_DVB_S == eDBType)
- {
- matchFlag = ((ServInfor->stDVBSServ.usOrigNetId == AddServInfor->stDVBSServ.usOrigNetId)
- && (ServInfor->stDVBSServ.usServiceId == AddServInfor->stDVBSServ.usServiceId)
- && (ServInfor->stDVBSServ.usTsId == AddServInfor->stDVBSServ.usTsId)
- && (ServInfor->stDVBSServ.eTvRadioType == AddServInfor->stDVBSServ.eTvRadioType));
- }
- break;
- #endif
- #ifdef SUPPORT_DELETE_SAME_SERVICES
- case AREA_RUSSIA:
- if (0 == g_stFactoryUserData.Function.n_Funct_DeleteSameServices)
- {
- matchFlag = 0;
- }
- break;
- #endif
- default:
- if (AL_DBTYPE_DVB_T == eDBType)
- {
- matchFlag = ((ServInfor->stDVBTServ.usOrigNetId == AddServInfor->stDVBTServ.usOrigNetId)
- && (ServInfor->stDVBTServ.usServiceId == AddServInfor->stDVBTServ.usServiceId)
- && (ServInfor->stDVBTServ.usTsId == AddServInfor->stDVBTServ.usTsId)
- && (ServInfor->stDVBTServ.eTvRadioType == AddServInfor->stDVBTServ.eTvRadioType));
- }
- else if (AL_DBTYPE_DVB_C == eDBType)
- {
- matchFlag = ((ServInfor->stDVBCServ.usOrigNetId == AddServInfor->stDVBCServ.usOrigNetId)
- && (ServInfor->stDVBCServ.usServiceId == AddServInfor->stDVBCServ.usServiceId)
- && (ServInfor->stDVBCServ.usTsId == AddServInfor->stDVBCServ.usTsId)
- && (ServInfor->stDVBCServ.eTvRadioType == AddServInfor->stDVBCServ.eTvRadioType));
- }
- else if (AL_DBTYPE_DVB_S == eDBType)
- {
- matchFlag = ((ServInfor->stDVBSServ.usOrigNetId == AddServInfor->stDVBSServ.usOrigNetId)
- && (ServInfor->stDVBSServ.usServiceId == AddServInfor->stDVBSServ.usServiceId)
- && (ServInfor->stDVBSServ.usTsId == AddServInfor->stDVBSServ.usTsId)
- && (ServInfor->stDVBSServ.eTvRadioType == AddServInfor->stDVBSServ.eTvRadioType));
- }
- break;
- }
- }
- if (matchFlag)
- {
- FW_DEBF("[%s:%d] matchFlag @@@@@@@@@@@@@@@@@@@@@@@@@\n",__FUNCTION__,__LINE__);
- FW_DEBF("[%s:%d] usOrigNetId: %d, %d; usServiceId: %d, %d; usTsId: %d, %d; eTvRadioType: %d, %d\n",
- __FUNCTION__,__LINE__,ServInfor->stDVBSServ.usOrigNetId, AddServInfor->stDVBSServ.usOrigNetId,
- ServInfor->stDVBSServ.usServiceId, AddServInfor->stDVBSServ.usServiceId,
- ServInfor->stDVBSServ.usTsId, AddServInfor->stDVBSServ.usTsId,
- ServInfor->stDVBSServ.eTvRadioType, AddServInfor->stDVBSServ.eTvRadioType);
- FW_DEBF("[%s:%d] usDataPID: %d, %d; usStrmID: %d, %d; usStrmID: %d, %d; usECMPID: %d, %d; usCompTag: %d, %d \n",
- __FUNCTION__,__LINE__,ServInfor->stDVBSServ.stVideoPid.usDataPID, AddServInfor->stDVBSServ.stVideoPid.usDataPID,
- ServInfor->stDVBSServ.stVideoPid.usStrmID, AddServInfor->stDVBSServ.stVideoPid.usStrmID,
- ServInfor->stDVBSServ.stVideoPid.usCodec, AddServInfor->stDVBSServ.stVideoPid.usCodec,
- ServInfor->stDVBSServ.stVideoPid.usECMPID, AddServInfor->stDVBSServ.stVideoPid.usECMPID,
- ServInfor->stDVBSServ.stVideoPid.usCompTag, AddServInfor->stDVBSServ.stVideoPid.usCompTag);
- FW_DEBF("[%s:%d] usPcrPid: %d, %d; stAudioPid[0].usDataPID: %d, %d; stAudioPid[1].usDataPID: %d, %d; stAudioPid[2].usDataPID: %d, %d\n",
- __FUNCTION__,__LINE__,ServInfor->stDVBSServ.usPcrPid, AddServInfor->stDVBSServ.usPcrPid,
- ServInfor->stDVBSServ.stAudioPid[0].usDataPID, AddServInfor->stDVBSServ.stAudioPid[0].usDataPID,
- ServInfor->stDVBSServ.stAudioPid[1].usDataPID, AddServInfor->stDVBSServ.stAudioPid[1].usDataPID,
- ServInfor->stDVBSServ.stAudioPid[2].usDataPID, AddServInfor->stDVBSServ.stAudioPid[2].usDataPID);
- }
- return matchFlag;
- }
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- static al_bool _DVBApp_TPMatch_S(al_void const *pRecToAdd, al_void *pRec)
- {
- AL_MultiplexDetail_t *TPInfor = (AL_MultiplexDetail_t *)pRec;
- AL_MultiplexDetail_t *AddTPInfor = (AL_MultiplexDetail_t *)pRecToAdd;
- return ((TPInfor->stDVBSMultiplex.usFreqM == AddTPInfor->stDVBSMultiplex.usFreqM)
- && (TPInfor->stDVBSMultiplex.ucSkew == AddTPInfor->stDVBSMultiplex.ucSkew));
- #ifdef SUPPORT_HIERARCHY_MODE
- //&& (TPInfor->stDVBSMultiplex.ucHierarchyMode == AddTPInfor->stDVBTMultiplex.ucHierarchyMode)
- #endif
- }
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBT_SUPPORT
- static al_bool _DVBApp_TPMatch_T(al_void const *pRecToAdd, al_void *pRec)
- {
- AL_MultiplexDetail_t *TPInfor = (AL_MultiplexDetail_t *)pRec;
- AL_MultiplexDetail_t *AddTPInfor = (AL_MultiplexDetail_t *)pRecToAdd;
- return ((TPInfor->stDVBTMultiplex.usOrigNetId == AddTPInfor->stDVBTMultiplex.usOrigNetId)
- && (TPInfor->stDVBTMultiplex.usTsId == AddTPInfor->stDVBTMultiplex.usTsId)
- && (TPInfor->stDVBTMultiplex.uiFreqK == AddTPInfor->stDVBTMultiplex.uiFreqK)
- #ifdef SUPPORT_HIERARCHY_MODE
- && (TPInfor->stDVBTMultiplex.ucHierarchyMode == AddTPInfor->stDVBTMultiplex.ucHierarchyMode)
- #endif
- );
- }
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBC_SUPPORT
- static al_bool _DVBApp_TPMatch_C(al_void const *pRecToAdd, al_void *pRec)
- {
- AL_MultiplexDetail_t *TPInfor = (AL_MultiplexDetail_t *)pRec;
- AL_MultiplexDetail_t *AddTPInfor = (AL_MultiplexDetail_t *)pRecToAdd;
- return ((TPInfor->stDVBCMultiplex.usOrigNetId == AddTPInfor->stDVBCMultiplex.usOrigNetId)
- && (TPInfor->stDVBCMultiplex.usTsId == AddTPInfor->stDVBCMultiplex.usTsId)
- && (TPInfor->stDVBCMultiplex.uiFreqK == AddTPInfor->stDVBCMultiplex.uiFreqK)
- //&& (TPInfor->stDVBCMultiplex.ucAreaIndex == AddTPInfor->stDVBCMultiplex.ucAreaIndex)
- #ifdef SUPPORT_HIERARCHY_MODE
- //&& (TPInfor->stDVBCMultiplex.ucHierarchyMode == AddTPInfor->stDVBCMultiplex.ucHierarchyMode)
- #endif
- );
- }
- #endif
- #if defined( CONFIG_DVB_SYSTEM_DVBS_SUPPORT)
- static al_bool _DVBApp_NetworkMatch_S(al_void const *pRecToAdd, al_void *pRec)
- {
- AL_NetworkDetail_t *NetInfor = (AL_NetworkDetail_t *)pRec;
- AL_NetworkDetail_t *AddNetInfor = (AL_NetworkDetail_t *)pRecToAdd;
- return (((NetInfor->stDVBSNetwork.ucEastWest == AddNetInfor->stDVBSNetwork.ucEastWest
- && NetInfor->stDVBSNetwork.iLongitude == AddNetInfor->stDVBSNetwork.iLongitude)
- && NetInfor->stDVBSNetwork.uiLNBFreq == AddNetInfor->stDVBSNetwork.uiLNBFreq)
- //|| !strcmp((char *)NetInfor->stDVBSNetwork.szNetName, (char *)AddNetInfor->stDVBSNetwork.szNetName)
- );
- }
- #endif
- #if defined (CONFIG_DVB_SYSTEM_DVBT_SUPPORT)
- static al_bool _DVBApp_NetworkMatch_T(al_void const *pRecToAdd, al_void *pRec)
- {
- AL_NetworkDetail_t *NetInfor = (AL_NetworkDetail_t *)pRec;
- AL_NetworkDetail_t *AddNetInfor = (AL_NetworkDetail_t *)pRecToAdd;
- return (NetInfor->stDVBTNetwork.usNetId == AddNetInfor->stDVBTNetwork.usNetId);
- }
- #endif
- #if defined (CONFIG_DVB_SYSTEM_DVBC_SUPPORT)
- static al_bool _DVBApp_NetworkMatch_C(al_void const *pRecToAdd, al_void *pRec)
- {
- AL_NetworkDetail_t *NetInfor = (AL_NetworkDetail_t *)pRec;
- AL_NetworkDetail_t *AddNetInfor = (AL_NetworkDetail_t *)pRecToAdd;
- return (NetInfor->stDVBCNetwork.usNetId == AddNetInfor->stDVBCNetwork.usNetId);
- }
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- void DVBApp_LoadCustomerDB(AL_DB_EDBType_t eDBType)
- {
- #ifdef CONFIG_DVB_SYSTEM_DVBS_DEFAULT_DATABASE
- al_void *pDefDBBakStart = NULL;
- al_uint32 uiDefDBBakSize = 0;
- al_uint32 dArea = 0;
- AL_DB_ERecordType_t eServiceType = AL_RECTYPE_DVBTV;
- AL_RecHandle_t hProg = AL_DB_INVALIDHDL;
- dvb_printf("[%s:%d] Load DVB-S Default Database Data to Database\n", __FUNCTION__, __LINE__);
- if (eDBType == AL_DBTYPE_DVB_S)
- {
- CDBIActiveDBModule(CDBI_DBTYPE_DVB_S, al_false);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- dArea = g_stChannelData.Country;
- if (dArea == AREA_AUSTRIA)
- {
- uiDefDBBakSize = Cmd_LookupFlashtableSize((al_uint8*)"S_AUT_DB");
- pDefDBBakStart = malloc(uiDefDBBakSize);
- if (pDefDBBakStart == al_null)
- {
- goto Leave;
- }
- if (Cmd_LookupFlashtableAddr((al_uint8*)"S_AUT_DB", (al_uint32)pDefDBBakStart, uiDefDBBakSize))
- {
- goto LeaveWithFree;
- }
- }
- else if (dArea == AREA_GERMANY)
- {
- uiDefDBBakSize = Cmd_LookupFlashtableSize((al_uint8*)"S_DEU_DB");
- pDefDBBakStart = malloc(uiDefDBBakSize);
- if (pDefDBBakStart == al_null)
- {
- goto Leave;
- }
- if (Cmd_LookupFlashtableAddr((al_uint8*)"S_DEU_DB", (al_uint32)pDefDBBakStart, uiDefDBBakSize))
- {
- goto LeaveWithFree;
- }
- }
- else
- {
- uiDefDBBakSize = Cmd_LookupFlashtableSize((al_uint8*)"S_OTH_DB");
- pDefDBBakStart = malloc(uiDefDBBakSize);
- if (pDefDBBakStart == al_null)
- {
- goto Leave;
- }
- if (Cmd_LookupFlashtableAddr((al_uint8*)"S_OTH_DB", (al_uint32)pDefDBBakStart, uiDefDBBakSize))
- {
- goto LeaveWithFree;
- }
- }
- if (Cmd_NVMWrite(ENVMPurposeIDDatabaseDVBS, al_false, uiDefDBBakSize, (UINT8 *)pDefDBBakStart))
- {
- dvb_printf("[%s:%d] NVM Write Error~\n", __FUNCTION__, __LINE__);
- }
- LeaveWithFree:
- free(pDefDBBakStart);
- Leave:
- CDBIActiveDBModule(CDBI_DBTYPE_DVB_S, al_true);
- hProg = APP_DVB_PLAYBACK_GetFirstProgHdlofLowestService();
- if (hProg != AL_DB_INVALIDHDL)
- {
- AL_DB_GetRecordType(hProg, NULL, &eServiceType);
- APP_DVB_Playback_SetCurrentProgHandle(AL_DBTYPE_DVB_S, eServiceType, hProg);
- }
- }
- #else
- DVBApp_LoaddefaultDB(AL_DBTYPE_DVB_S);
- #endif
- }
- void DVBApp_LoaddefaultDB(AL_DB_EDBType_t eDBType)
- {
- AL_NetworkDetail_t stNetInfo;
- AL_MultiplexDetail_t stTPInfo;
- if (eDBType == AL_DBTYPE_DVB_S)
- {
- const SDBNetworkInfo_t *pNewNetTableInfo;
- const APP_DVBS_NetTP_table *pNewTPTableInfo;
- AL_RecHandle_t hNet = AL_DB_INVALIDHDL;
- AL_RecHandle_t hTp = AL_DB_INVALIDHDL;
- al_uint32 i = 0;
- al_uint32 j = 0;
- APP_Area_GetNetTbl(&pNewNetTableInfo);
- APP_Area_GetTpNetTbl(&pNewTPTableInfo);
- for(; i < APP_Area_GetNetTblSize(); i++)
- {
- memcpy(&stNetInfo.stDVBSNetwork, pNewNetTableInfo + i, sizeof(SDBNetworkInfo_t));
- AL_DB_AddRecord(AL_DBTYPE_DVB_S, AL_RECTYPE_DVBNETWORK, &stNetInfo, AL_DB_INVALIDHDL, &hNet);
- for (j=0; j < APP_Area_GetTpNetTblSize(); j++)
- {
- if ((pNewTPTableInfo+j)->u32SateIndex == i)
- {
- memset(&stTPInfo.stDVBSMultiplex, 0, sizeof (SDBMultiplexInfo_t));
- memcpy(&stTPInfo.stDVBSMultiplex, &(pNewTPTableInfo+j)->stTPinfo, sizeof (SDBMultiplexInfo_t));
- AL_DB_AddRecord(AL_DBTYPE_DVB_S, AL_RECTYPE_DVBMULTIPLEX, &stTPInfo, hNet, &hTp);
- }
- }
- }
- }
- }
- #endif
- #if defined (CONFIG_DVB_SYSTEM_DVBS_SUPPORT) || defined (CONFIG_SUPPORT_MALAYSIA_CERTIFICATION)
- void DVBApp_RemoveAllService(AL_DB_EDBType_t eDBType)
- {
- AL_RecHandle_t hNet = AL_DB_INVALIDHDL;
- AL_RecHandle_t hProg = AL_DB_INVALIDHDL;
- AL_RecHandle_t hTPHandle = AL_DB_INVALIDHDL;
- al_uint16 usTsId = 0xffff;
- al_uint16 usOrigNetId = 0xffff;
- al_uint16 usServiceId = 0xffff;
- if (AL_SUCCESS == AL_DB_GetRecord(AL_DB_REQ_GETFIRST, eDBType, AL_RECTYPE_DVBNETWORK, &hNet))
- {
- do
- {
- while (AL_DB_GetChildRecord(hNet, &hTPHandle) == AL_SUCCESS)
- {
- while (AL_DB_GetChildRecord(hTPHandle, &hProg) == AL_SUCCESS)
- {
- if ((AL_SUCCESS != AL_DB_QueryDetailFieldByName(hProg, (al_uint8 *)"usTsId", (al_void *)&usTsId))
- || (AL_SUCCESS != AL_DB_QueryDetailFieldByName(hProg, (al_uint8 *)"usOrigNetId", (al_void *)&usOrigNetId))
- || (AL_SUCCESS != AL_DB_QueryDetailFieldByName(hProg, (al_uint8 *)"usServiceId", (al_void *)&usServiceId)))
- {
- printf("Get service info failed!!!\n");
- }
- if (AL_DB_RemoveRecord(hProg) == AL_SUCCESS)
- {
- AL_Event_UnLockChannels(eDBType, usOrigNetId, usTsId, usServiceId);
- }
- else
- {
- printf("remove service failed!!!\n");
- }
- hProg = AL_DB_INVALIDHDL;
- }
- }
- }while (AL_SUCCESS == AL_DB_GetRecord(AL_DB_REQ_GETNEXT, eDBType, AL_RECTYPE_DVBNETWORK, &hNet));
- }
- }
- #endif
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- static void _DVBApp_PrestoreProgram(AL_DB_EDBType_t eDBType)
- {
- AL_Return_t enRet = AL_SUCCESS;
- NOT_USED(enRet);
- static AL_RecHandle_t hNetHdl = AL_DB_INVALIDHDL;
- AL_NetworkDetail_t stRootNet;
- AL_RecHandle_t hProg = AL_DB_INVALIDHDL;
- AL_RecHandle_t hProg1 = AL_DB_INVALIDHDL;
- AL_RecHandle_t hProg2 = AL_DB_INVALIDHDL;
- #ifdef CONFIG_DVB_SYSTEM_DVBT2_SUPPORT
- AL_RecHandle_t hProg3 = AL_DB_INVALIDHDL;
- #endif
- AL_RecHandle_t hTp = AL_DB_INVALIDHDL;
- AL_MultiplexDetail_t ts;
- AL_ServiceDetail_t Program;
- AL_FW_SwitchDBModule(AL_DBTYPE_DVB_C);
- AL_DB_Reset(AL_DBTYPE_DVB_C, al_true);
- AL_Event_UnLockChannels(AL_DBTYPE_DVB_C, RESERVED_ORIGINAL_NET_ID, RESERVED_TRANSPORT_ID, RESERVED_SERVICE_ID);
- AL_PR_DeleteAllSch(AL_DBTYPE_DVB_C,AL_PR_EVT_REM | AL_PR_SRV_REM);
- memset(&ts, 0, sizeof(AL_MultiplexDetail_t));
- ts.stDVBCMultiplex.uiFreqK = 121000;
- ts.stDVBCMultiplex.usSymRateK = 6875;
- ts.stDVBCMultiplex.ucQamSize = AL_QAM_64;
- ts.stDVBCMultiplex.usEMMPID = 0x1FFF;
- ts.stDVBCMultiplex.usNetId = 0x1234;
- ts.stDVBCMultiplex.usOrigNetId = 0x1234;
- ts.stDVBCMultiplex.usTsId = 0x1234;
- //AL_DB_AddRecord(AL_DBTYPE_DVB_C, AL_RECTYPE_DVBMULTIPLEX, &ts, AL_DB_INVALIDHDL, &hTp);
- memset(&stRootNet, 0, sizeof(AL_NetworkDetail_t));
- stRootNet.stDVBCNetwork.usNetId = 1;
- memcpy(stRootNet.stDVBCNetwork.szNetName, "Dummy",6);
- hNetHdl = AL_DB_INVALIDHDL;
- AL_DB_AddRecord(AL_DBTYPE_DVB_C, AL_RECTYPE_DVBNETWORK, &stRootNet, AL_DB_INVALIDHDL, &hNetHdl);
- AL_DB_AddRecord(AL_DBTYPE_DVB_C, AL_RECTYPE_DVBMULTIPLEX, &ts, hNetHdl, &hTp);
- memset(&Program, 0, sizeof(AL_ServiceDetail_t));
- Program.stDVBCServ.eSDTSrvType = AL_RECTYPE_DVBTV;
- Program.stDVBCServ.eTvRadioType= AL_RECTYPE_DVBTV;
- Program.stDVBCServ.szProgName[0] = 0;
- Program.stDVBCServ.usOrigNetId = 0x1111;
- Program.stDVBCServ.usServiceId = 0x1111;
- Program.stDVBCServ.usTsId = 0x1111;
- Program.stDVBCServ.usProgNo = 0x1;
- Program.stDVBCServ.usPMTPid= 0x1F55;
- Program.stDVBCServ.stVideoPid.usDataPID = 0x1F40;
- Program.stDVBCServ.stAudioPid[0].usDataPID= 0x1F41;
- enRet = AL_DB_AddRecord(AL_DBTYPE_DVB_C, AL_RECTYPE_DVBTV,
- &Program, hTp, &hProg);
- APP_DVB_Playback_SetCurrentProgHandle(AL_DBTYPE_DVB_C,AL_RECTYPE_DVBTV,hProg);
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- AL_FW_SwitchDBModule(AL_DBTYPE_DVB_S);
- AL_DB_Reset(AL_DBTYPE_DVB_S, al_true);
- AL_Event_UnLockChannels(AL_DBTYPE_DVB_S, RESERVED_ORIGINAL_NET_ID, RESERVED_TRANSPORT_ID, RESERVED_SERVICE_ID);
- AL_PR_DeleteAllSch(AL_DBTYPE_DVB_S,AL_PR_EVT_REM | AL_PR_SRV_REM);
- DVBApp_LoadCustomerDB(AL_DBTYPE_DVB_S);
- extern AL_RecHandle_t APP_GUIOBJ_DVB_SatSys_PrestoreTP4FactoryAuto(void);
- hTp = APP_GUIOBJ_DVB_SatSys_PrestoreTP4FactoryAuto();
- memset(&Program, 0, sizeof(AL_ServiceDetail_t));
- Program.stDVBSServ.eSDTSrvType = AL_RECTYPE_DVBTV;
- Program.stDVBSServ.eTvRadioType= AL_RECTYPE_DVBTV;
- Program.stDVBSServ.szProgName[0] = 0;
- Program.stDVBSServ.usOrigNetId = 0x4321;
- Program.stDVBSServ.usServiceId = 0x4321;
- Program.stDVBSServ.usTsId = 0x4321;
- Program.stDVBSServ.usProgNo = 0x1;
- Program.stDVBSServ.usPMTPid= 0x1F55;
- Program.stDVBSServ.stVideoPid.usDataPID = 0x1F40;
- Program.stDVBSServ.stAudioPid[0].usDataPID= 0x1F41;
- enRet = AL_DB_AddRecord(AL_DBTYPE_DVB_S, AL_RECTYPE_DVBTV,
- &Program, hTp, &hProg);
- APP_DVB_Playback_SetCurrentProgHandle(AL_DBTYPE_DVB_S,AL_RECTYPE_DVBTV,hProg);
- #endif
- AL_FW_SwitchDBModule(AL_DBTYPE_DVB_T);
- AL_DB_Reset(AL_DBTYPE_DVB_T, al_true);
- AL_Event_UnLockChannels(AL_DBTYPE_DVB_T, RESERVED_ORIGINAL_NET_ID, RESERVED_TRANSPORT_ID, RESERVED_SERVICE_ID);
- AL_PR_DeleteAllSch(AL_DBTYPE_DVB_T,AL_PR_EVT_REM | AL_PR_SRV_REM);
- //dvb -t
- hNetHdl = AL_DB_INVALIDHDL;
- hTp = AL_DB_INVALIDHDL;
- stRootNet.stDVBTNetwork.usNetId = 1;
- memcpy(stRootNet.stDVBTNetwork.szNetName, "Dummy", 6);
- enRet = AL_DB_AddRecord(AL_DBTYPE_DVB_T, AL_RECTYPE_DVBNETWORK, &stRootNet, AL_DB_INVALIDHDL, &hNetHdl);
- memset(&ts, 0, sizeof(AL_MultiplexDetail_t));
- ts.stDVBTMultiplex.uiFreqK = 474000;
- ts.stDVBTMultiplex.ucBandwidth = 8;
- ts.stDVBTMultiplex.ucHierarchyMode = FRONTEND_HIERARCHY_AUTO;
- AL_DB_AddRecord(AL_DBTYPE_DVB_T, AL_RECTYPE_DVBMULTIPLEX, &ts, hNetHdl, &hTp);
- //dtv channel info start ---set here
- //channel 1
- memset(&Program, 0, sizeof(AL_ServiceDetail_t));
- Program.stDVBTServ.eSDTSrvType = AL_RECTYPE_DVBTV;
- Program.stDVBTServ.eTvRadioType = AL_RECTYPE_DVBTV;
- memcpy(Program.stDVBTServ.szProgName, "BBC CHOICE", 10);
- Program.stDVBTServ.usOrigNetId = 0x233a;
- Program.stDVBTServ.usServiceId = 0x10ff;
- Program.stDVBTServ.usTsId = 0x1004;
- Program.stDVBTServ.usTsId_pat = 0x1004;
- Program.stDVBTServ.usProgNo = 0x8001;
- Program.stDVBTServ.usPMTPid = 0x10ff;
- Program.stDVBTServ.stProgAttrib.scramble = 0x0;
- Program.stDVBTServ.stVideoPid.usDataPID = 0x26c;
- Program.stDVBTServ.stVideoPid.usCodec = 0x2;
- Program.stDVBTServ.stAudioPid[0].usDataPID = 0x26d;
- enRet = AL_DB_AddRecord(AL_DBTYPE_DVB_T, AL_RECTYPE_DVBTV,&Program, hTp, &hProg1);
- //channel 2...
-
- //dtv channel info end----------------------
- memset(&ts, 0, sizeof(AL_MultiplexDetail_t));
- ts.stDVBTMultiplex.uiFreqK = 666000;
- ts.stDVBTMultiplex.ucBandwidth = 8;
- ts.stDVBTMultiplex.ucHierarchyMode = FRONTEND_HIERARCHY_AUTO;
- AL_DB_AddRecord(AL_DBTYPE_DVB_T, AL_RECTYPE_DVBMULTIPLEX, &ts, hNetHdl, &hTp);
- memset(&Program, 0, sizeof(AL_ServiceDetail_t));
- Program.stDVBTServ.eSDTSrvType = AL_RECTYPE_DVBTV;
- Program.stDVBTServ.eTvRadioType= AL_RECTYPE_DVBTV;
- Program.stDVBTServ.szProgName[0] = 0;
- Program.stDVBTServ.usOrigNetId = 0x0000;
- Program.stDVBTServ.usServiceId = 0x0001;
- Program.stDVBTServ.usTsId = 0x0001;
- Program.stDVBTServ.usProgNo = 0x2;
- Program.stDVBTServ.usPMTPid= 0x0080;
- Program.stDVBTServ.stVideoPid.usDataPID = 0x0064;
- Program.stDVBTServ.stAudioPid[0].usDataPID= 0x0065;
- enRet = AL_DB_AddRecord(AL_DBTYPE_DVB_T, AL_RECTYPE_DVBTV,
- &Program, hTp, &hProg2);
- #ifdef CONFIG_DVB_SYSTEM_DVBT2_SUPPORT
- memset(&ts, 0, sizeof(AL_MultiplexDetail_t));
- ts.stDVBTMultiplex.uiFreqK = 770000;
- ts.stDVBTMultiplex.ucBandwidth = 8;
- ts.stDVBTMultiplex.ucHierarchyMode = FRONTEND_HIERARCHY_AUTO;
- ts.stDVBTMultiplex.ucTp_dvb_type = EDVB_DELIVER_TYPE_T2;
- AL_DB_AddRecord(AL_DBTYPE_DVB_T, AL_RECTYPE_DVBMULTIPLEX, &ts, hNetHdl, &hTp);
- memset(&Program, 0, sizeof(AL_ServiceDetail_t));
- Program.stDVBTServ.eSDTSrvType = AL_RECTYPE_DVBTV;
- Program.stDVBTServ.eTvRadioType= AL_RECTYPE_DVBTV;
- Program.stDVBTServ.szProgName[0] = 0;
- Program.stDVBTServ.usOrigNetId = 0x3333;
- Program.stDVBTServ.usServiceId = 0x3333;
- Program.stDVBTServ.usTsId = 0x3333;
- Program.stDVBTServ.usProgNo = 0x3;
- Program.stDVBTServ.usPMTPid= 0x3333;
- Program.stDVBTServ.usPlpId = 0;
- Program.stDVBTServ.stVideoPid.usDataPID = 0x5354;
- Program.stDVBTServ.stAudioPid[0].usDataPID= 0x1303;
- enRet = AL_DB_AddRecord(AL_DBTYPE_DVB_T, AL_RECTYPE_DVBTV,
- &Program, hTp, &hProg3);
- #endif
- AL_FW_SwitchDBModule(eDBType);
- APP_DVB_Playback_SetCurrentRFTypeByNetType(eDBType);
- APP_DVB_Playback_SetCurrServiceType(eDBType, AL_RECTYPE_DVBTV);
- APP_DVB_Playback_SetCurrentProgHandle(AL_DBTYPE_DVB_T,AL_RECTYPE_DVBTV,hProg1);
- dvb_printf("\nfunction:%s,enRet:%d\n",__FUNCTION__,enRet);
- enRet = enRet;//fix [-Werror=unused-but-set-variable]
- }
- #endif
- static void _DVBApp_SWInit(void)
- {
- AL_PR_Init_Param_t Init_param=
- {
- .MaxNumOfReminders = AL_PR_MAX_NO_REMINDERS,
- .app_schd_time[0] = PR_NOTIFY_TIME_IN_SEC,
- /*reserves*/
- .app_schd_time[1] = 0,
- .app_schd_time[2] = 0
- };
- AL_PR_SetInitParam(&Init_param);
- AL_DB_EDBType_t eDBType = AL_DBTYPE_MAX;
- #if (defined(CONFIG_DVB_SYSTEM_DVBS_SUPPORT)||defined(CONFIG_DVB_SYSTEM_DVBT_SUPPORT)\
- ||defined(CONFIG_DVB_SYSTEM_DVBC_SUPPORT))
- AL_DB_RecDupliChkFunc_t stMatchFuc;
- stMatchFuc.pServMatch = (AL_DB_RecordMatchFunc)_DVBApp_SerMatch;
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- Ant_UsalsSetting_UserLocation_st UserLocal;
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBT_SUPPORT
- stMatchFuc.pNetMatch = (AL_DB_RecordMatchFunc)_DVBApp_NetworkMatch_T;
- stMatchFuc.pMulitplexMatch = (AL_DB_RecordMatchFunc)_DVBApp_TPMatch_T;
- AL_DB_RegisterDupliChkFunc(AL_DBTYPE_DVB_T, &stMatchFuc);
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBC_SUPPORT
- stMatchFuc.pNetMatch = (AL_DB_RecordMatchFunc)_DVBApp_NetworkMatch_C;
- stMatchFuc.pMulitplexMatch = (AL_DB_RecordMatchFunc)_DVBApp_TPMatch_C;
- AL_DB_RegisterDupliChkFunc(AL_DBTYPE_DVB_C, &stMatchFuc);
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- stMatchFuc.pNetMatch = (AL_DB_RecordMatchFunc)_DVBApp_NetworkMatch_S;
- stMatchFuc.pMulitplexMatch = (AL_DB_RecordMatchFunc)_DVBApp_TPMatch_S;
- AL_DB_RegisterDupliChkFunc(AL_DBTYPE_DVB_S, &stMatchFuc);
- #endif
- APP_Database_GetCurrentDBType(APP_SOURCE_DTV, &eDBType);
- switch (eDBType)
- {
- case AL_DBTYPE_DVB_T:
- AL_FW_Init(FW_DVB_T_INIT, NULL, NULL);
- break;
- case AL_DBTYPE_DVB_C:
- AL_FW_Init(FW_DVB_C_INIT, NULL, NULL);
- break;
- case AL_DBTYPE_DVB_S:
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- AL_FW_Init(FW_DVB_S_INIT, NULL, NULL);
- #endif
- break;
- default:
- break;
- }
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- MID_SatCtrl_Init(TUNER_ID_MAIN);
- APP_GUIOBJ_DVB_SatSys_GetUserLocation(&UserLocal);
- MID_SatCtrl_SetUsalsLocation(MOTORSEL_USER,&UserLocal,NULL);
- #endif
- #ifndef SUPPORT_LCN_ONOFF
- do {
- UINT8 bLcnSetting, u8AreaIdx;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_SYSINFO, 0,
- sizeof(APP_SETTING_SystemInfo_t), &(g_stSysInfoData));
- bLcnSetting = g_stSysInfoData.LcnOnOff;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- u8AreaIdx = g_stChannelData.Country;
- u8AreaIdx = u8AreaIdx; // avoid warning error
- if (! (bLcnSetting & LCN_ONOFF_CHANGED)) //mean use the default
- {
- // For the first time boot up, the flash data has not initiated yet
- #ifdef SUPPORT_LCN
- APP_Area_GetDefaultAreaInfoLCN(eDBType, u8AreaIdx, &bLcnSetting);
- #endif
- g_stSysInfoData.LcnOnOff = bLcnSetting;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_SYSINFO,
- ITEM_OFFSET(APP_SETTING_SystemInfo_t, LcnOnOff),
- sizeof(g_stSysInfoData.LcnOnOff),&(g_stSysInfoData.LcnOnOff));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_SYSINFO,
- ITEM_OFFSET(APP_SETTING_SystemInfo_t, LcnOnOff), sizeof(g_stSysInfoData.LcnOnOff));
- }
- } while(0);
- #endif
- // EPG setup
- _DVBApp_EpgInit();
- UINT32 area = 0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- area = g_stChannelData.Country;
- DVBApp_ResetDvbSpecRule(area);
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- if(APP_Factory_GetAutoTestOnOff() == TRUE)
- {
- _DVBApp_PrestoreProgram(eDBType);
- }
- else
- #endif
- {
- APP_Factory_HotelModePowerOnChan();
- }
- #ifdef MP4_SUB_PREFER_LANG
- _DVBApp_SetMp4SubcodepagebyPreferLang();
- #endif
- // Monitor init
- if (_DVBApp_BackgroundMonitor_Init() == SP_SUCCESS)
- {
- dvb_printf("_DVBApp_BackgroundMonitor_Init() success\n");
- }
- else
- {
- dvb_printf("_DVBApp_BackgroundMonitor_Init() fail\n");
- }
- // APP_Database_InitListTypeName();
- //AUDIF_Set_OutputMode(OUTPUT_DOWNMIX_MODE, dwmix_L0R0);
- //AUDIF_Set_OutputMode(OUT_RFModeK3, RF_outmode);
- //AUDIF_Set_OutputMode(OUT_CustomModeB_DigitalDialnormK1, 0x6464);
- }
- static void _DVBApp_DTV_main_program(void *data)
- {
- _DVBApp_SWInit();
- }
- static INT32 _DVBApp_ToggleVideoState(void)
- {
- AL_DB_EDBType_t eDBType = APP_DVB_Playback_GetCurrentNetType();
- #ifndef PLAY_VIDEO_FOR_ALLSRV
- AL_DB_ERecordType_t eServiceType = APP_DVB_Playback_GetCurrServiceType(eDBType);
- #endif
- UINT8 u8ProgState = APP_DVB_Playback_GetProgStateByHandle(eDBType, AL_DB_INVALIDHDL);
- if (MID_PlaybackIsPlaying() == TRUE)
- {
- /*AV is playing, need to stop*/
- if (u8ProgState == MID_PLAYBK_PROG_STATE_LOCKED)
- {
- #ifndef PLAY_VIDEO_FOR_ALLSRV
- if (eServiceType == AL_RECTYPE_DVBRADIO)
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_STOP_PLAYBACK,
- (PLAYBACK_STOP_MHEG5 | PLAYBACK_KEEP_FRAMEBUF));
- }
- else
- #endif
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_STOP_PLAYBACK,
- (PLAYBACK_STOP_SUBTITLE | PLAYBACK_STOP_MHEG5));
- }
- }
- }
- else
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_START_PLAYBACK, 0);
- }
- return SP_SUCCESS;
- }
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- void DVBApp_RecordPreEWSLevel(UINT16 EWSLevel)
- {
- dvb_printf("\n [EWS] g_OldPreEWSLevel = 0x%2x\n",g_PreEWSLevel);
- g_PreEWSLevel = EWSLevel;
- dvb_printf("\n [EWS] g_PreEWSLevel = 0x%2x\n",g_PreEWSLevel);
- }
- void DVBApp_ShowIndonesiaEWS(UINT16 NowEWSLevel)
- {
- dvb_printf("\n\n [EWS] Before xxxxxx g_PreEWSLevel = %d NowLevel = 0x%2x\n\n",g_PreEWSLevel,NowEWSLevel);
- UINT8 retVol=0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL,
- ITEM_OFFSET(APP_SETTING_Variational_t, Volume),
- sizeof(UINT8), &(retVol));
- if(g_PreEWSLevel == STATUS_NONE)
- {
- _DVBApp_CloseAllMenu();
- if(NowEWSLevel == STATUS_AWAS)
- {
- MID_PlaybackStartEWSFile();
- if (APP_Audio_Get_HPStatus() == APP_Audio_Headphone_PlugOut)
- {
- APP_Audio_SetVolume(100);
- }
- else
- {
- APP_Audio_SetHPVolume(100);
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS, 0);
- }
- else if(NowEWSLevel == STATUS_SIAGA)
- {
- MID_PlaybackStartEWSFile();
- if (APP_Audio_Get_HPStatus() == APP_Audio_Headphone_PlugOut)
- {
- APP_Audio_SetVolume(100);
- }
- else
- {
- APP_Audio_SetHPVolume(100);
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS, 0);
- }
- else if(NowEWSLevel == STATUS_WASPADA)
- {
- MID_PlaybackStopEWSFile();
- if (APP_Audio_Get_HPStatus() == APP_Audio_Headphone_PlugOut)
- {
- APP_Audio_SetVolume(retVol);
- }
- else
- {
- APP_Audio_SetHPVolume(retVol);
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA, 0);
- }
- g_PreEWSLevel = NowEWSLevel;
- }
- else
- {
- if(g_PreEWSLevel == STATUS_AWAS || g_PreEWSLevel == STATUS_SIAGA)
- {
- if(NowEWSLevel == STATUS_AWAS || NowEWSLevel == STATUS_SIAGA)
- {
- MID_PlaybackStartEWSFile();
- if (APP_Audio_Get_HPStatus() == APP_Audio_Headphone_PlugOut)
- {
- APP_Audio_SetVolume(100);
- }
- else
- {
- APP_Audio_SetHPVolume(100);
- }
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_EWS_AWAS, APP_DVB_GLOBAL_EVENT_INDONESIA_EWS_UPDATE, 0);
- }
- else if(NowEWSLevel == STATUS_WASPADA)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS))
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS);
- MID_PlaybackStopEWSFile();
- if (APP_Audio_Get_HPStatus() == APP_Audio_Headphone_PlugOut)
- {
- APP_Audio_SetVolume(retVol);
- }
- else
- {
- APP_Audio_SetHPVolume(retVol);
- }
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA, 0);
- }
- g_PreEWSLevel = NowEWSLevel;
- }
- else if(g_PreEWSLevel == STATUS_WASPADA)
- {
- if(NowEWSLevel == STATUS_AWAS || NowEWSLevel == STATUS_SIAGA)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA))
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA);
- MID_PlaybackStartEWSFile();
- if (APP_Audio_Get_HPStatus() == APP_Audio_Headphone_PlugOut)
- {
- APP_Audio_SetVolume(100);
- }
- else
- {
- APP_Audio_SetHPVolume(100);
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS, 0);
- }
- else if(NowEWSLevel == STATUS_WASPADA)
- {
- MID_PlaybackStopEWSFile();
- if (APP_Audio_Get_HPStatus() == APP_Audio_Headphone_PlugOut)
- {
- APP_Audio_SetVolume(retVol);
- }
- else
- {
- APP_Audio_SetHPVolume(retVol);
- }
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_EWS_WASPADA, APP_DVB_GLOBAL_EVENT_INDONESIA_EWS_UPDATE, 0);
- }
- g_PreEWSLevel = NowEWSLevel;
- }
- }
- dvb_printf("\n\n [EWS] After xxxxxx g_PreEWSLevel = %d NowLevel = 0x%2x\n\n",g_PreEWSLevel,NowEWSLevel);
- }
- Boolean DVBApp_GetReciveEWS(void)
- {
- dvb_printf("\e[33m\n[EWS] %s %d g_bReciveEWS = %d \e[0m\n",__FUNCTION__, __LINE__,g_bReciveEWS);
- return g_bReciveEWS;
- }
- void DVBApp_SetReciveEWS(Boolean bstate)
- {
- dvb_printf("\e[33m\n[EWS] %s %d before g_bReciveEWS = %d \e[0m\n",__FUNCTION__, __LINE__,g_bReciveEWS);
- g_bReciveEWS = bstate;
- dvb_printf("\e[33m\n[EWS] %s %d after g_bReciveEWS = %d \e[0m\n",__FUNCTION__, __LINE__,g_bReciveEWS);
- }
- #endif
- static void _DVBApp_ShowPopup(DVB_DVBAppPopMsgType_t ePopType)
- {
- UINT32 u32GuiObj = 0;
- PopmsgParam_t stPopup;
- AL_DB_EDBType_t eDBType = AL_DBTYPE_MAX;
- APP_Source_Type_t eSourType = APP_SOURCE_MAX;
- AL_ServiceDetail_t stService;
- #ifdef CONFIG_QSD //Chip test mode doesn't need to show no signal OSD
- if(ePopType == DVB_APP_POP_MSG_NO_SIGNAL)
- {
- return;
- }
- #endif
- #if (defined (CONFIG_SUPPORT_PVR) || defined(CONFIG_CONFIRM_AUTO_UPGRADE))
- UINT32 dMsgType = 0;
- APP_GUIOBJ_PopMsg_GetMsgDialogType(&dMsgType);
- #endif
- #ifdef CONFIG_CONFIRM_AUTO_UPGRADE
- if (dMsgType == POPMSG_CONFIRM_START_AUTO_UPGRADE)
- {
- switch (ePopType)
- {
- case DVB_APP_POP_MSG_RADIO_CHANNEL:
- case DVB_APP_POP_MSG_VIDEO_NOT_SUPPORT:
- case DVB_APP_POP_MSG_SERVICE_NOT_AVAILABLE:
- case DVB_APP_POP_MSG_SCRAMBLE:
- case DVB_APP_POP_MSG_PARENTAL_LOCK:
- case DVB_APP_POP_MSG_NO_SIGNAL:
- case DVB_APP_POP_MSG_TEMPSERVICE:
- case DVB_APP_POP_MSG_CHECKPWD:
- case DVB_APP_POP_MSG_DATABASE_EMPTY:
- dvb_printf("\n\n%d. auto upgrade pop message exist, not display pop message: %d.\n\n", __LINE__, ePopType);
- return;
- default:
- break;
- }
- }
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- if (dMsgType == POPMSG_CONFIRM_REC_REMIDER_TIME || dMsgType == POPMSG_CONFIRM_REC_REMIDER_TIME_CONFIRM)
- {
- switch (ePopType)
- {
- case DVB_APP_POP_MSG_TEMPSERVICE:
- case DVB_APP_POP_MSG_SERVICE_NOT_AVAILABLE:
- case DVB_APP_POP_MSG_NOT_AVAILABLE:
- dvb_printf("\n\n%d.PVR reminder Pop message exist, not display pop message: %d.\n\n", __LINE__, ePopType);
- return;
- default:
- break;
- }
- }
- #endif
- for (u32GuiObj = 0; u32GuiObj < DVB_GUIOBJ_MAX; u32GuiObj++)
- {
- if (u32GuiObj == DVB_GUIOBJ_PLAYBACK
- #ifdef CONFIG_SUPPORT_SUBTITLE
- || u32GuiObj == DVB_GUIOBJ_SUBTITLE
- #endif
- #ifdef CONFIG_SUPPORT_TTX
- || u32GuiObj == DVB_GUIOBJ_TTX
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- || u32GuiObj == DVB_GUIOBJ_MHEG5
- #endif
- || u32GuiObj == DVB_GUIOBJ_PROGINFO
- || u32GuiObj == DVB_GUIOBJ_POPMSG
- || u32GuiObj == DVB_GUIOBJ_FREEZE
- || u32GuiObj == APP_GUIOBJ_MUTE
- || u32GuiObj == APP_GUIOBJ_BANNER
- //|| u32GuiObj == APP_GUIOBJ_ADJUST
- //|| u32GuiObj == APP_GUIOBJ_AMPLIFIERVOLUME
- #ifdef CONFIG_SUPPORT_PVR
- || u32GuiObj == DVB_GUIOBJ_PVR_REC
- || u32GuiObj == DVB_GUIOBJ_PVR_PAUSE
- || u32GuiObj == DVB_GUIOBJ_PVR_PLAYINFO
- || u32GuiObj == DVB_GUIOBJ_PVRREC_INFO
- || u32GuiObj == DVB_GUIOBJ_PVR_FILEPLAY
- || u32GuiObj == DVB_GUIOBJ_PVR_FILEPLAYINFO
- #endif
- )
- {
- continue;
- }
- if(ePopType == DVB_APP_POP_MSG_OVERMAXVOLUME && u32GuiObj == APP_GUIOBJ_ADJUST)
- {
- continue;
- }
- if (ePopType != DVB_APP_POP_MSG_KEYLOCK)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, u32GuiObj))
- {
- return;
- }
- }
- }
- if ((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- &&(g_dCurPopup == POPMSG_CONFIRM_FLIP))
- {
- return;
- }
- memset(&stPopup, 0x0, sizeof(PopmsgParam_t));
- switch (ePopType)
- {
- case DVB_APP_POP_MSG_DATABASE_EMPTY:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_MSG_DATABASE_EMPTY;
- break;
- case DVB_APP_POP_MSG_CHECK_ANTENNA_INPUT:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_MSG_CHECK_ANTENNA_INPUT;
- break;
- case DVB_APP_POP_MSG_INVALID_INPUT:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_ANY_KEY;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_INVALID_INPUT;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_NOT_AVAILABLE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_NOT_AVAILABLE;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- #ifdef CONFIG_SUPPORT_SUBTITLE
- case DVB_APP_POP_MSG_NO_SUBTITLE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_NO_SUBTITLE;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- #endif
- #ifdef CONFIG_SUPPORT_TTX
- case DVB_APP_POP_MSG_NO_TTX:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_NO_TTX;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- #endif
- case DVB_APP_POP_MSG_CHECKPWD:
- stPopup.eType = POPMSG_TYPE_PWD;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPwd.ePwdType = PLAYBACK_POPUP_PWD_LOCKED;
- break;
- case DVB_APP_POP_MSG_TEMPSERVICE:
- #ifdef CONFIG_SUPPORT_MHEG5
- if ((APP_DVB_Mheg5_GetBootCarouselStatus() == MHEG5_BOOT_CAROUSEL_EXISTED)
- && APP_Area_SupportDtg() /*&& (APP_DVB_Mheg5_GetMheg5DisplayStatus() == FALSE)*/)
- {
- if(APP_DVB_Mheg5_GetMheg5DisplayStatus() == FALSE)
- {
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_MSG_TEMPSERVICE_LOAD_MHEG5;
- break;
- }else
- return;
- }
- else if ((APP_DVB_Mheg5_GetBootCarouselStatus() != MHEG5_BOOT_CAROUSEL_EXISTED)
- && APP_Area_SupportDtg())
- {
- return;
- }
- #endif
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- APP_Database_GetCurrentDBType(eSourType, &eDBType);
- AL_DB_QueryDetail(APP_DVB_Playback_GetCurrentProgHandle(eDBType,
- (AL_RECTYPE_DVBTV | AL_RECTYPE_DVBRADIO | AL_RECTYPE_DVBDATA)), (al_void *)&stService);
- if (((AL_DBTYPE_DVB_T == eDBType) && (1 == stService.stDVBTServ.stProgAttrib.svrnotrun))
- || ((AL_DBTYPE_DVB_C == eDBType) && (1 == stService.stDVBCServ.stProgAttrib.svrnotrun))
- || ((AL_DBTYPE_DVB_S == eDBType) && (1 == stService.stDVBSServ.stProgAttrib.svrnotrun)))
- {
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_MSG_TEMPSERVICE_SERVICE_NOT_RUNNING;
- }
- else
- {
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_MSG_TEMPSERVICE;
- }
- break;
- case DVB_APP_POP_MSG_NO_SIGNAL:
- #ifdef CONFIG_CIPLUS_SUPPORT
- if( APP_CIPLUS_IsVirtualChannel(0) )
- return;
- #endif
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_MSG_NO_SIGNAL;
- break;
- case DVB_APP_POP_MSG_PARENTAL_LOCK:
- stPopup.eType = POPMSG_TYPE_PWD;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPwd.ePwdType = PLAYBACK_POPUP_PWD_LOCKED;
- break;
- case DVB_APP_POP_MSG_SCRAMBLE:
- #ifdef CONFIG_CIPLUS_SUPPORT
- #if 0 // TODO: MHEG5
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5)||
- APP_DVB_Mheg5_IsRunning())
- {
- return;
- }
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- if( MID_DTVCI_GetAppMMIStatus() && SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5) )
- return;
- #endif
- #endif
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_MSG_SCRAMBLED;
- break;
- case DVB_APP_POP_MSG_SERVICE_NOT_AVAILABLE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_MSG_SERVICE_NOT_AVAILABLE;
- break;
- #ifdef CONFIG_CI_SUPPORT
- case DVB_APP_POP_MSG_CI_CAM_INIT:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_PROMPT_CI_CAM_INIT;
- stPopup.extend.stPrompt.iTimeout = 60;
- break;
- case DVB_APP_POP_MSG_CI_CAM_INIT_OK:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_PROMPT_CI_CAM_INIT_OK;
- stPopup.extend.stPrompt.iTimeout = 3;
- break;
- #ifndef CONFIG_TV_NEW_UI
- case DVB_APP_POP_MSG_CI_CAM_ERROR:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_PROMPT_CI_CAM_ERROR;
- stPopup.extend.stPrompt.iTimeout = 3;
- break;
- #endif
- case DVB_APP_POP_MSG_CI_CAM_REMOVED:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_PROMPT_CI_CAM_REMOVED;
- stPopup.extend.stPrompt.iTimeout = 3;
- break;
- #ifdef CONFIG_CIPLUS_SUPPORT
- case DVB_APP_POP_MSG_CIPLUSE_UPGRADE_SUCC:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMP_CIPLUS_UPGRADE_SUCC;
- stPopup.extend.stPrompt.iTimeout = 5;
- break;
- case DVB_APP_POP_MSG_CIPLUSE_UPGRADE_FAILE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMP_CIPLUS_UPGRADE_FAILED;
- stPopup.extend.stPrompt.iTimeout = 8;
- break;
- #endif
- case DVB_APP_POP_MSG_HDCP_UPGRADE_SUCC:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMP_HDCP_UPGRADE_SUCC;
- stPopup.extend.stPrompt.iTimeout = 8;
- break;
- case DVB_APP_POP_MSG_HDCP_UPGRADE_FAILE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMP_HDCP_UPGRADE_FAILED;
- stPopup.extend.stPrompt.iTimeout = 8;
- break;
- case DVB_APP_POP_MSG_CI_PASS_HDCP_PASS:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMP_CI_PASS_HDCP_PASS;
- stPopup.extend.stPrompt.iTimeout = 8;
- break;
- case DVB_APP_POP_MSG_CI_PASS_HDCP_FAIL:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMP_CI_PASS_HDCP_FAIL;
- stPopup.extend.stPrompt.iTimeout = 8;
- break;
- case DVB_APP_POP_MSG_CI_FAIL_HDCP_PASS:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMP_CI_FAIL_HDCP_PASS;
- stPopup.extend.stPrompt.iTimeout = 8;
- break;
- case DVB_APP_POP_MSG_CI_FAIL_HDCP_FAIL:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMP_CI_FAIL_HDCP_FAIL;
- stPopup.extend.stPrompt.iTimeout = 8;
- break;
- #ifdef SUPPORT_CICAM_NEW_MESSAGE //this define need be enable to inform user remove CICAM card
- case DVB_APP_POP_MSG_CI_INFORM_USER_REMOVE_CAM:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_PROMPT_CI_INFORM_USER_REMOVE_CAM;
- stPopup.extend.stPrompt.iTimeout = 3;
- break;
- #endif
- #endif
- case DVB_APP_POP_MSG_NEW_SERVICE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_PROMPT_ADD_SRV;
- stPopup.extend.stPrompt.iTimeout = 3;
- break;
- case DVB_APP_POP_MSG_SERVICE_REMOVE:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType= GUI_OBJECT_POST_EVENT|GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_CONFIRM_REMOVE_SRV;
- break;
- case DVB_APP_POP_MSG_OTH_TP_NEW_SERVICE:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_PROMPT_OTH_TP_ADD_SRV;
- break;
- #ifdef SUPPORT_NETWORK_UPDATE_RESCAN
- case DVB_APP_POP_MSG_NETWORK_UPDATE_STATIC:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_CONFIRM_UPDATE_NWK_STATIC;
- break;
- #endif
- case DVB_APP_POP_MSG_NETWORK_UPDATING:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_NO_POST_ACTION ;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_PROMPT_NETWORK_UPDATING;
- break;
- case DVB_APP_POP_MSG_NETWORK_UPDATE_DONE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_NO_POST_ACTION ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_NETWORK_UPDATE_DONE;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_VIDEO_NOT_SUPPORT:
- #ifdef CONFIG_SUPPORT_MHEG5
- if (APP_DVB_Mheg5_GetBootCarouselStatus() == MHEG5_BOOT_CAROUSEL_EXISTED)
- {
- return;
- }
- #endif
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_MSG_VIDEO_NOT_SUPPORT;
- break;
- case DVB_APP_POP_MSG_DB_SAVE_IN_PROGRESS:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_CHN_UP_DOWN | POPMSG_EXIT_EPG | POPMSG_EXIT_MENU | POPMSG_EXIT_SOURCE;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_SAVING_DATA;
- stPopup.extend.stPrompt.iTimeout = 20;
- break;
- #ifdef CONFIG_SUPPORT_PVR
- case DVB_APP_POP_MSG_REC_INIT:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_INITIAL_REC;
- stPopup.extend.stPrompt.iTimeout = 1;
- break;
- case DVB_APP_POP_MSG_TIMESHIFT_INIT:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_INITIAL_TIMESHIFT;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_AUTOTIMESHIFT_INIT:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_INITIAL_AUTOTIMESHIFT;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_REC_ENTER_NOT_VALID:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_INVALID_REC;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_REC_WRITE_ERROR:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_REC_WRITE_ERR;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_TIMESHIFT_ENTER_NOT_VALID:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_INVALID_TIMESHIFT;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_REC_REQUIRE_FORMAT:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_PVR_REQUIRE_FORMAT_DISK;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_REC_PARTITION_NOT_SET:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_PARTITION_NOT_SET;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_PVR_DISK_CHECKING:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_DISK_CHECKING;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_PVR_DISK_FULL:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_DISK_FULL;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_PVR_NO_STORAGE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_NO_USBCARD_DEVICE;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_FOUNDDEVICE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_ANY_KEY;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_FOUNDDEVICE;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_REC_NTFS_DIRTY:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_PARTITION_SET_NTFS_DIRTY;
- stPopup.extend.stPrompt.iTimeout = 3;
- break;
- case DVB_APP_POP_MSG_REC_SCRAMBLE_CHANNEL:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_INVALID_REC_SCRAMBLE;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_REC_START:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_START_RECORD;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_STOP_MHEG_FOR_REC:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_MHEG_FOR_RECORD;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_STOP_TSHIFT_TO_REC:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_THIFT_TO_REC;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_UPDATE_TSID:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_CONFIRM_FIND_NEW_TSID;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_TIMESHIFT_START:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_START_TIMESHIFT;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_STOP_MHEG_FOR_TIMESHIFT:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_MHEG_FOR_TIMESHIFT;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_REC_STOP:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_RECORD;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_STOP_REC_FOR_MHEG:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_RECORD_FOR_MHEG;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_TIMESHIFT_STOP:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_TIMESHIFT;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_STOP_TIMESHIFT_FOR_MHEG:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_MHEG;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_REC_STOP_CHANNEL_CHANGE:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_RECORD_FOR_CH_CHANGE;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_REC_STOP_FOR_RECALL:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_RECORD_FOR_RECALL;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_TIMESHIFT_STOP_CHANNEL_CHANGE:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_CH_CHANGE;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_TIMESHIFT_STOP_FOR_RECALL:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_RECALL;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_REC_STOP_SOURCE_CHANGE:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_RECORD_FOR_SRC_CHANGE;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_TIMESHIFT_STOP_SOURCE_CHANGE:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_SRC_CHANGE;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_REC_SPEED_NOT_ENOUGH:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_RECORDER_SPEED_NOT_ENOUGH;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_TIMESHIFT_SPEED_NOT_ENOUGH:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_TIMESHIFT_SPEED_NOT_ENOUGH;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_REC_STOP_FOR_USBKEY:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_RECORD_FOR_USBKEY;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_TIMESHIFT_STOP_FOR_USBKEY:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_USBKEY;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_REC_STOP_FOR_TVRADIOKEY:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_RECORD_FOR_TVRADIOKEY;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_TIMESHIFT_STOP_FOR_TVRADIOKEY:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_TVRADIOKEY;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_PVR_TIMESHIFT_STANDBY:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_PVR_TIMESHIFT_STANDBY;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_PVR_REMIDER:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_NO_POST_ACTION;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_REC_REMIDER_TIME;
- stPopup.extend.stConfirm.u8Default = POPMSG_YES;
- stPopup.extend.stConfirm.iTimeout = DVBApp_GetReminderTime2Show()+1;
- break;
- case DVB_APP_POP_MSG_PVR_REMIDER_CONFIRM:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_REC_REMIDER_TIME_CONFIRM;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_STOP_REC_FOR_REMINDER:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_REC_FOR_REMINDER;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_STOP_TSHIFT_FOR_REMINDER:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_TSHIFT_FOR_REMINDER;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_STOP_REC_FOR_TIMER_REC:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_REC_FOR_TIMER_REC;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_STOP_TSHIFT_FOR_TIMER_REC:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_STOP_TSHIFT_FOR_TIMER_REC;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_TIMER_OUT_OF_DATE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_TIMER_OUT_OF_DATE;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_PVR_SYSTEM_TIME_CHANGED:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_PVR_SYSTEM_TIME_CHANGED;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_PVR_PARTITION_SET_SUCCESSFUL:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_PARTITION_SET_SUCCESSFUL;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_PVR_ENABLE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_PVR_ENABLE;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_PVR_DISABLE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_PVR_DISABLE;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_INSERT_USB:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_INSERT_USB;
- stPopup.extend.stPrompt.iTimeout = 3;
- break;
- case DVB_APP_POP_MSG_INVALID_USB:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_INVALID_USB;
- stPopup.extend.stPrompt.iTimeout = 3;
- break;
- case DVB_APP_POP_MSG_INSERT_USB_CONFIRM:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT | POPMSG_EXIT_RETURN;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_INSERT_USB;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- case DVB_APP_POP_MSG_INVALID_USB_CONFIRM:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT | POPMSG_EXIT_RETURN;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PVR_REC;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_INVALID_USB;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- #endif
- case DVB_APP_POP_MSG_CHANNEL_DELETED:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_ANY_KEY;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_CHANNEL_DELETED;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_EPG_ENABLE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_EPG_ENABLE;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_EPG_DISABLE:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_EPG_DISABLE;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- #ifdef SUPPORT_CONAX_CAS
- case DVB_APP_POP_MSG_NO_CARD_INSERTERD:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_NO_CARD_INSERTERD;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_INCORRECT_CONAX_CARD:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_INCORRECT_CONAX_CARD;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_INCORRECT_CARD:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_INCORRECT_CARD;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_CARD_PROBIEM_CHEAKCAED:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_CARD_PROBIEM_CHEAKCAED;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_NO_ACCESS:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_NO_ACCESS;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_NO_ACCESS_GEOGRAPHICAL_BLACKOUT:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_NO_ACCESS_GEOGRAPHICAL_BLACKOUT;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_NO_ACCESS_NETWORK_BLOCK:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_NO_ACCESS_NETWORK_BLOCK;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- #endif
- case DVB_APP_POP_MSG_RADIO_CHANNEL:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_MSG_RADIO_CHANNEL;
- break;
- case DVB_APP_POP_MSG_NO_RADIO:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_NO_POST_ACTION ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_NO_RADIO;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_NO_DTVORDATA:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_NO_POST_ACTION ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_NO_DTVORDATA;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- #ifdef CONFIG_SUPPORT_MHEG5
- case DVB_APP_POP_MSG_STOP_SUBTITLE_TO_OPEN_MHEG5:
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT ;
- stPopup.u32GuiObjID = DVB_GUIOBJ_PLAYBACK;
- stPopup.extend.stConfirm.eConfirmType =
- PLAYBACK_POPUP_CONFIRM_STOP_SUBTITLE_TO_OPEN_MHEG5;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- break;
- #endif
- case DVB_APP_POP_MSG_KEYLOCK:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_KEYLOCK;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_OVERMAXVOLUME:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMPT_OVER_MAXVOLUME;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- #ifdef CONFIG_SUPPORT_NES_FLASH
- case DVB_APP_POP_MSG_IMPORTING_GAME:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_NO_POST_ACTION ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_N32GAME_IMPORTING_GAME;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- case DVB_APP_POP_MSG_NO_SIZE_FOR_GAME:
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_NO_POST_ACTION ;
- stPopup.extend.stPrompt.ePromptType = POPMSG_N32GAME_NO_SIZE_FOR_GAME;
- stPopup.extend.stPrompt.iTimeout = 2;
- break;
- #endif
- default:
- return;
- }
- if (stDvbInst.bAppState == SYSTEM_IDLE)
- {
- return;
- }
- DVBApp_SchedulePopup(stPopup);
- }
- static INT32 _DVBApp_CheckPopupDisplay(void)
- {
- UINT32 dCheckFlag;
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- for (dCheckFlag = PLAYBACK_POPUP_MAX - 1; dCheckFlag > PLAYBACK_POPUP_NONE; dCheckFlag--)
- {
- if (g_u32PopupWaitingList & (1 << (dCheckFlag - PLAYBACK_POPUP_NONE)))
- {
- DVBApp_SchedulePopup(stPopupWaitingList[dCheckFlag-PLAYBACK_POPUP_NONE]);
- break;
- }
- }
- }
- return 0;
- }
- static INT32 _DVBApp_HidePopupDisplay(void)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM);
- }
- APP_MenuMgr_SetMsgPopup(FALSE);
- g_u32OldPopup = PLAYBACK_POPUP_NONE;
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- g_dCurPopup = PLAYBACK_POPUP_NONE;
- return SP_SUCCESS;
- }
- static al_void _DVBApp_SendServRefleshMsg(al_void)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNMGR))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_CHNMGR,
- APP_GLOBAL_EVENT_REFRESH_SERV_INFO, 0);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVMGR))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FAVMGR,
- APP_GLOBAL_EVENT_REFRESH_SERV_INFO, 0);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST,
- APP_GLOBAL_EVENT_REFRESH_SERV_INFO, 0);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST,
- APP_GLOBAL_EVENT_REFRESH_SERV_INFO, 0);
- }
- }
- static INT32 _DVBApp_Zapping(
- UINT8 bServiceType, AL_RecHandle_t hProgHdl,
- UINT8 bForce, UINT32 u32Paramter, Boolean bShowInfo)
- {
- AL_DB_EDBType_t eOldDBType = APP_GUIOBJ_DVB_Playback_GetPrevNetType();
- AL_DB_ERecordType_t eOldServiceType = APP_DVB_Playback_GetCurrServiceType(eOldDBType);
- AL_RecHandle_t hOldProgHdl;
- AL_RecHandle_t hNextProgHdl = hProgHdl;
- APP_Source_Type_t eSourType = APP_SOURCE_MAX;
- APP_GUIOBJ_Source_GetCurrSource(&eSourType);
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM);
- }
- #ifdef CONFIG_CI_SUPPORT
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CI_ENQ))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_CI_ENQ);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CI_MENU))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_CI_MENU);
- }
- g_Audio_Scramble_Counter = 0;
- g_VIP_FINISH_Flg = FALSE;
- #endif
- hOldProgHdl = APP_DVB_Playback_GetCurrentProgHandle(eOldDBType, eOldServiceType);
- if (AL_DB_INVALIDHDL != hNextProgHdl)
- {
- AL_ServiceDetail_t ServInfor;
- DBServAttrib_t stProgAttrib;
- AL_DB_EDBType_t eDBType;
- AL_DB_ERecordType_t eServiceType;
- #ifdef CONFIG_CIPLUS_SUPPORT
- if (g_isMute)
- {
- g_isMute = FALSE;
- dvb_printf("%s, %d, valid program handle unmute all!\n", __FUNCTION__, __LINE__);
- APP_Audio_SetMute(FALSE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, APP_SOURCE_DTV);
- APP_Video_SetMute(FALSE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, APP_SOURCE_DTV);
- }
- #endif
- AL_DB_QueryDetail(hNextProgHdl, &ServInfor);
- AL_DB_GetRecordType(hNextProgHdl, &eDBType, &eServiceType);
- if (AL_DBTYPE_DVB_T == eDBType)
- {
- stProgAttrib = ServInfor.stDVBTServ.stProgAttrib;
- }
- else if (AL_DBTYPE_DVB_C == eDBType)
- {
- stProgAttrib = ServInfor.stDVBCServ.stProgAttrib;
- }
- else if (AL_DBTYPE_DVB_S == eDBType)
- {
- stProgAttrib = ServInfor.stDVBSServ.stProgAttrib;
- }
- if (!(stProgAttrib.delete == al_true))
- {
- if ((hNextProgHdl != hOldProgHdl)
- || (bServiceType != eOldServiceType) || (bForce == TRUE)
- #ifdef CONFIG_CIPLUS_SUPPORT
- || APP_DVB_CI_GetIsPlaybackPMT()
- #endif
- #ifdef CHECK_HIDDEN_SERVICE
- || ((stProgAttrib.notvisible == al_true) != 0)
- #endif
- )
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- PVR_DEBF("\n==========stop recorder to zapping!====\n");
- if (MID_REC_MODE_MANUAL == MID_Recorder_GetRecMode())
- {
- DVBApp_StopRecord();
- }
- else
- {
- DVBApp_StopTimeshift(FALSE);
- }
- }
- #endif
- #if 0/*moved to _APP_GUIOBJ_DVB_Playback_Stop() by xm.zeng on 2013/3/26.*/
- #ifdef CONFIG_SUPPORT_SUBTITLE
- AL_Subtitle_Reset();
- #endif
- #ifdef CONFIG_SUPPORT_TTX
- AL_TTX_Stop();
- AL_TTX_Reset();
- #endif
- #endif/*end*/
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- APP_Audio_SetMute(TRUE, TRUE, APP_MUTE_MODE_CH_CHANGE, eSourType);
- APP_Video_SetMute(TRUE, TRUE, APP_MUTE_MODE_CH_CHANGE, eSourType);
- MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- #ifdef CONFIG_SUPPORT_SUBTITLE
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if (g_stUserInfoData.Subtitle == APP_SWITCH_ON)
- {
- #ifdef CONFIG_DTV_SUPPORT
- AL_Subtitle_Type_t SubtitleType = AL_SUBTITLE_TYPE_MAX;
- if (APP_GUIOBJ_SubTitle_GetType(&SubtitleType) == TRUE)
- {
- AL_Subtitle_SetFreeze(FALSE);
- }
- #endif
- }
- #endif
- }
- DVBApp_ClearStatus();
- if (u32Paramter == FW_MONITOR_REPLACE_SERVICE)
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK,
- APP_DVB_INTRA_EVENT_ZAPPING_WITH_REPLACE, (UINT32)hNextProgHdl);
- }
- else
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK,
- APP_DVB_INTRA_EVENT_ZAPPING, (UINT32)hNextProgHdl);
- }
- }
- }
- /*Add for dispose TV/RADIO key in channel manager /channel list /epg*/
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNMGR)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVMGR)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPG)
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_FM_FACTORYSETTING)
- #endif
- )
- {
- return SP_SUCCESS;
- }
- /*End*/
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTHOTEL, 0,
- sizeof(APP_SETTING_FactoryHotel_t), &(g_stFactoryHotelData));
- if((!APP_Factory_CheckNeedReopenFm(SYS_APP_DVB))
- #ifdef SUPPORT_HOTEL_MODE_INFOBANNER_SHOW_CONTROL
- &&((!g_stFactoryHotelData.HotelModeOnOff)||(g_stFactoryHotelData.ShowInfoBar))
- #endif
- )
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- if (bShowInfo == TRUE)
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, DVB_GUIOBJ_PROGINFO,
- APP_DVB_GLOBAL_EVENT_INFO_UPDATE, 1);
- }
- else
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO);
- }
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BANNER))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_BANNER);
- }
- if (!(APP_MenuMgr_Exist_Main_Menu()))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_ADJUST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_ADJUST);
- }
- #ifdef SUPPORT_CEC_TV
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME);
- }
- #endif
- _DVBApp_CloseAllMenu();
- if (bShowInfo == TRUE)
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO, 0);
- }
- }
- }
- if (APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL)
- == MID_PLAYBK_PROG_STATE_LOCKED)
- {
- if (bShowInfo == TRUE)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CHECKPWD);
- }
- }
- }
- }
- else
- {
- #ifdef CONFIG_CIPLUS_SUPPORT
- if (APP_CIPLUS_IsProfileSource())
- {
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, APP_SOURCE_DTV);
- APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, APP_SOURCE_DTV);
- g_isMute = TRUE;
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO,
- APP_DVB_GLOBAL_EVENT_INFO_UPDATE, 1);
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BANNER))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_BANNER);
- }
- if (!(APP_MenuMgr_Exist_Main_Menu()))
- {
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO, 0);
- }
- }
- }
- else
- #endif
- {
- #ifdef SPECIAL_CHNORDER_FOR_SPAIN
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, UI_EVENT_DISPLAY, 0);
- #else
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_INVALID_INPUT);
- #endif
- }
- }
- _DVBApp_CheckPopupDisplay();
- return SP_SUCCESS;
- }
- static INT32 _DVBApp_DestroyPartialObjects(UINT8 *pMenuFlag)
- {
- UINT32 i;
- UINT32 u32TotalObj;
- UINT8 u8FilteredObj = 0;
- UINT32 u32GuiObjID[DVB_GUIOBJ_MAX];
- if (SYSAPP_GOBJ_GetTotalCreatedObjects(SYS_APP_DVB, &u32TotalObj) == -1)
- {
- return SP_ERR_FAILURE;
- }
- for (i = 0; i <= u32TotalObj - 1; i++)
- {
- if (SYSAPP_GOBJ_GetObjectIDByIndex(SYS_APP_DVB, i , &u32GuiObjID[u8FilteredObj]) == -1)
- {
- return SP_ERR_FAILURE;
- }
- if ((u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_PLAYBACK)
- #ifdef CONFIG_SUPPORT_SUBTITLE
- || (u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_SUBTITLE)
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- || (u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_MHEG5)
- #endif
- || (u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_FREEZE)
- || (u32GuiObjID[u8FilteredObj] == APP_GUIOBJ_MUTE)
- #ifdef CONFIG_KEYPAD_SINGLE_REUSE
- || (u32GuiObjID[u8FilteredObj] == APP_GUIOBJ_SINGLEKEYPAD)
- #endif
- )
- {
- continue;
- }
- else if ((u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_CHNMGR)
- || (u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_FAVMGR)
- || (u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_SCAN_PROCESS)
- || (u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_CHNRENAME)
- || (u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_EPG)
- || (u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_CHNLIST)
- || (u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_FAVLIST)
- || (u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_EPGEXTEND)
- #ifdef CONFIG_CI_SUPPORT
- || (u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_CI_MENU)
- || (u32GuiObjID[u8FilteredObj] == DVB_GUIOBJ_CI_ENQ)
- #endif
- )
- {
- *pMenuFlag = TRUE;
- }
- u8FilteredObj++;
- }
- SYSAPP_GOBJ_DestroyPartialGUIObjects(SYS_APP_DVB, u32GuiObjID, u8FilteredObj);
- return SP_SUCCESS;
- }
- static void _DVBApp_Exit_All_Menu(void)
- {
- UINT8 bMenuFlag = 0;
- al_bool bHasValidServ = al_false;
- al_uint8 bSignalState = al_false;
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- #ifdef OSD_GAME_SUPPORT
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_OSDGAME))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_OSDGAME, APP_DVB_INTRA_EVENT_OSD_GAME_EXIT, (UINT32)NULL);
- }
- #endif
- if (APP_MenuMgr_Exist_Main_Menu())
- {
- bMenuFlag = 1;
- APP_MenuMgr_Exit_Main_Menu();
- }
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- if (bHasValidServ)
- {
- #ifdef CONFIG_CIPLUS_SUPPORT
- if (APP_CIPLUS_IsProfileSource())
- {
- if (g_isMute)
- {
- return ;
- }
- }
- #endif
- _DVBApp_ToggleVideoState();
- if (g_bMidHasUnmute)
- {
- DVBApp_CheckProgramType(TRUE);
- }
- }
- if (APP_MenuMgr_Exist_Factory_Menu())
- {
- bMenuFlag = 1;
- APP_MenuMgr_Exit_Factory_Menu();
- }
- #ifdef CONFIG_SUPPORT_OTA_UPGRADE
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_OTA_UPGRADE_PROGRESS)
- && (!APP_MenuMgr_Exist_Main_Menu()))
- {
- bMenuFlag = TRUE;
- }
- #endif
- if (g_u32OldPopup == PLAYBACK_POPUP_NONE)
- {
- if (_DVBApp_DestroyPartialObjects(&bMenuFlag) == SP_ERR_FAILURE)
- {
- SYSAPP_GOBJ_DestroyAllGUIObject(SYS_APP_DVB);
- }
- }
- if (bMenuFlag)
- {
- #if 0
- if (TotalNum > 0)
- {
- al_uint8 bSignalState = al_false;
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if ((bSignalState != AL_DVB_MONITOR_VALUE_TRUE) && (MID_PlaybackIsPlaying() == TRUE))
- {
- //DVBApp_ResetPopup_Channel();
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NO_SIGNAL);
- }
- else
- {
- if (eServiceType == AL_RECTYPE_DVBRADIO)
- {
- //DVBApp_ResetPopup_Channel();
- if (!APP_GUIOBJ_DVB_Playback_GetShowLogoState())
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_SHOWLOGO, 0);
- }
- if (!DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_RADIO_CHANNEL))
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- #endif
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_RADIO_CHANNEL);
- }
- }
- }
- else
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_RADIO_CHANNEL, UI_EVENT_NULL);
- }
- if (APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL)
- == MID_PLAYBK_PROG_STATE_SCRAMBLED)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_SCRAMBLE);
- }
- }
- }
- else
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_SHOWLOGO, 0);
- //DVBApp_ResetPopup_Channel();
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_DATABASE_EMPTY);
- }
- #endif
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO);
- }
- }
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (bSignalState == AL_DVB_MONITOR_VALUE_TRUE)
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_NO_SIGNAL, UI_EVENT_NULL);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- if(DVBApp_IsPopupExist(PLAYBACK_POPUP_PWD_LOCKED)
- && MID_PLAYBK_PROG_STATE_LOCKED != APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_PWD_LOCKED, UI_EVENT_NULL);
- }
- else
- {
- DVBApp_ResetPopup_Channel();
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- }
- _DVBApp_CheckPopupDisplay();
- }
- static void _DVBApp_ExitAll(void)
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- UINT32 u32TotalObj = 0;
- if (SYSAPP_GOBJ_GetTotalCreatedObjects(SYS_APP_DVB, &u32TotalObj) == -1)
- {
- u32TotalObj = 0;
- }
- #endif
- _DVBApp_Exit_All_Menu();
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef SUPPORT_TIME_ON_OSD
- if (u32TotalObj == 3)
- #else
- if (u32TotalObj == 2)
- #endif
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, UI_EVENT_RETURN, 0);
- }
- }
- #ifdef SUPPORT_SUBTITLE_ON_PG
- else if ((u32TotalObj == 4) && (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLE)))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, UI_EVENT_RETURN, 0);
- }
- }
- #endif
- #endif
- }
- static INT32 _DVBApp_CloseAllMenu(void)
- {
- INT32 u32GuiObj = 0;
- UINT32 u32GuiObjID;
- UINT32 u32TotalObj;
- _DVBApp_HidePopupDisplay();
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS)
- ||SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA))
- {
- return SP_ERR_FAILURE;
- }
- #endif
- if (SYSAPP_GOBJ_GetTotalCreatedObjects(SYS_APP_DVB, &u32TotalObj) != SYSTEM_APP_SUCCESS)
- {
- return SP_ERR_FAILURE;
- }
- for (u32GuiObj =(INT32)(u32TotalObj - 1); u32GuiObj >= 0; u32GuiObj--)
- {
- if (SYSAPP_GOBJ_GetObjectIDByIndex(SYS_APP_DVB, u32GuiObj , &u32GuiObjID) != SYSTEM_APP_SUCCESS)
- {
- return SP_ERR_FAILURE;
- }
- if ((u32GuiObjID == DVB_GUIOBJ_PLAYBACK)
- #ifdef CONFIG_SUPPORT_SUBTITLE
- ||(u32GuiObjID == DVB_GUIOBJ_SUBTITLE)
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- ||(u32GuiObjID == DVB_GUIOBJ_MHEG5)
- #endif
- ||(u32GuiObjID == DVB_GUIOBJ_FREEZE)
- ||(u32GuiObjID == APP_GUIOBJ_MUTE)
- #ifdef CONFIG_SUPPORT_PVR
- || (u32GuiObjID == DVB_GUIOBJ_PVR_FILEPLAY)
- || (u32GuiObjID == DVB_GUIOBJ_PVR_FILEPLAYINFO)
- #endif
- #ifdef CONFIG_KEYPAD_SINGLE_REUSE
- || (u32GuiObjID == APP_GUIOBJ_SINGLEKEYPAD)
- #endif
- )
- {
- continue;
- }
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, u32GuiObjID);
- }
- #ifdef CONFIG_SUPPORT_TTX
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TTX);
- }
- #endif
- return SP_SUCCESS;
- }
- #ifdef CONFIG_SUPPORT_PVR
- /* g_bMidHasUnmute , we need modify this flag before play record file when dtv play locked radio */
- void DVBAPP_Pvr_fileplay_Setflag(Boolean flag)
- {
- g_bMidHasUnmute = flag;
- }
- AL_SCH_sched_id_t DVBAPP_Pvr_GetStopTimer_id(void)
- {
- return stoprec_id;
- }
- void DVBApp_Pvr_SetStopTimer_id(void)
- {
- stoprec_id = AL_SCH_INVALID_ID;
- }
- void DVBApp_SetBGTimeshift(UINT8 u8StartInterval)
- {
- if (u8StartInterval > 0)
- {
- g_u8BGTimeshiftStart = u8StartInterval;
- }
- else
- {
- g_u8BGTimeshiftStart = 0;
- }
- }
- static int DVBApp_CheckDiskSpeedAgain(int defpartition)
- {
- int Speed_State;
- dvb_printf(" %s \n\n",__FUNCTION__);
- MID_RecorderSetDefaultPartition(defpartition, MID_REC_PARTITION_SET_FORCE);
- Speed_State = MID_RecorderGetPartitionSpeed(defpartition);
- return Speed_State;
- }
- static INT32 DVBApp_CheckForRecord(MID_REC_MODE eRecMode)
- {
- int Speed_State;
- INT32 iRet = 0;
- INT32 iPtListIdx = -1;
- //al_bool SOURCE_HD = FALSE;
- al_uint8 bSignalState = al_false;
- al_bool bHasValidServ = al_false;
- UINT8 u8ProgLockState = FALSE;
- g_eCheckRecMode = eRecMode;
- //move this action to here for mantis:22619 start
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- //move this action to here for mantis:22619 end
- u8ProgLockState = APP_DVB_Playback_GetProgStateByHandle(eNetType, AL_DB_INVALIDHDL);
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (u8ProgLockState == MID_PLAYBK_PROG_STATE_LOCKED)
- {
- if(MID_REC_MODE_MANUAL == eRecMode)
- {
- #ifndef SUPPORT_SPEC_PVR_RECORD
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_ENTER_NOT_VALID);
- return SP_ERR_FAILURE;
- #endif
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_ENTER_NOT_VALID);
- return SP_ERR_FAILURE;
- }
- }
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- if ((bSignalState != AL_DVB_MONITOR_VALUE_TRUE)
- || (DVBApp_CheckServiceNotAvailable() == TRUE)
- || !bHasValidServ)
- {
- if (MID_REC_MODE_AUTO == eRecMode)
- {
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- }
- else
- {
- if (eRecMode == MID_REC_MODE_MANUAL)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_ENTER_NOT_VALID);
- }
- else if (eRecMode == MID_REC_MODE_TIMESHIFT_AFTER_REC)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_ENTER_NOT_VALID);
- }
- }
- return SP_ERR_FAILURE;
- }
- iRet = APP_GUIOBJ_DVB_PvrRec_IsReadyToRecord();
- if (iRet != PVR_MSG_SUCCESS)
- {
- switch (iRet)
- {
- case PVR_MSG_FAIL_DISK_CHECKING:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_PVR_DISK_CHECKING);
- if (MID_REC_MODE_AUTO == eRecMode)
- {
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- }
- break;
- case PVR_MSG_FAIL_PARTITION_NOT_SET:
- if (MID_REC_MODE_AUTO == eRecMode)
- {
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_PARTITION_NOT_SET);
- }
- break;
- case PVR_MSG_FAIL_NO_STORAGE:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_PVR_NO_STORAGE);
- break;
- case PVR_MSG_FAIL_NTFS_DIRTY:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_NTFS_DIRTY);
- break;
- case PVR_MSG_FAIL_NO_FREE_SPACE:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_PVR_DISK_FULL);
- break;
- case PVR_MSG_FAIL_H264_IN_PS_FORMAT:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_ENTER_NOT_VALID);
- break;
- case PVR_MSG_SCRAMBLE_CHANNEL:
- if (MID_REC_MODE_AUTO == eRecMode)
- {
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- }
- else if (MID_REC_MODE_MANUAL== eRecMode)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_ENTER_NOT_VALID);
- }
- else if ((MID_REC_MODE_TIMESHIFT_AFTER_REC== eRecMode))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_ENTER_NOT_VALID);
- }
- break;
- default:
- if (MID_REC_MODE_AUTO == eRecMode)
- {
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_ENTER_NOT_VALID);
- }
- break;
- }
- return SP_ERR_FAILURE;
- }
- if (MID_REC_FS_OK != MID_RecorderGetDefaultPartition(&iPtListIdx))
- {
- return SP_ERR_FAILURE;
- }
- Speed_State = MID_RecorderGetPartitionSpeed(iPtListIdx);
- #ifdef REMIND_SPEED_NOT_ENOUGH
- al_uint8 SOURCE_HD = FALSE;
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_HDCONTENT, &SOURCE_HD);
- if (SOURCE_HD)
- {
- if ((Speed_State < MID_REC_SPEED_HDRECORD) && (eRecMode == MID_REC_MODE_MANUAL))
- {
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- if (APP_WAKEUP_GetBootFlag() == FALSE)//panel off, record immediately
- #endif
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_SPEED_NOT_ENOUGH); //POPUP REC SPEED NOT ENOUGH
- return SP_ERR_FAILURE;
- }
- }
- else if ((Speed_State < MID_REC_SPEED_HDTSHIFT) && (eRecMode != MID_REC_MODE_MANUAL))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_SPEED_NOT_ENOUGH); //POPUP TIMESHIFT SPEED NOT ENOUGH
- return SP_ERR_FAILURE;
- }
- }
- else
- {
- if ((Speed_State < MID_REC_SPEED_SDRECORD) && (eRecMode == MID_REC_MODE_MANUAL))
- {
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- if (APP_WAKEUP_GetBootFlag() == FALSE)//panel off, record immediately
- #endif
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_SPEED_NOT_ENOUGH); //POPUP REC SPEED NOT ENOUGH
- return SP_ERR_FAILURE;
- }
- }
- else if ((Speed_State < MID_REC_SPEED_SDTSHIFT) && (eRecMode != MID_REC_MODE_MANUAL))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_SPEED_NOT_ENOUGH); //POPUP TIMESHIFT SPEED NOT ENOUGH
- return SP_ERR_FAILURE;
- }
- }
- #else
- if (Speed_State == MID_REC_SPEED_TOOLOW)
- {
- if ((Speed_State = DVBApp_CheckDiskSpeedAgain(iPtListIdx)) == MID_REC_SPEED_TOOLOW)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_REQUIRE_FORMAT); //POPUP REC SPEED NOT ENOUGH
- return SP_ERR_FAILURE;
- }
- }
- #endif
- //move this action to here for mantis:22619 start
- if (MID_REC_MODE_AUTO == eRecMode)
- {
- _DVBApp_CloseAllMenu();
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_INIT);
- }
- //move this action to here for mantis:22619 end
- return SP_SUCCESS;
- }
- INT32 DVBApp_StartRecord(MID_REC_MODE eRecMode)
- {
- INT32 iRet;
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- return SP_ERR_FAILURE;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SCAN_PROCESS))
- {
- return SP_ERR_FAILURE;
- }
- #ifdef CONFIG_SUPPORT_OTA_UPGRADE
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_OTA_UPGRADE_PROGRESS))
- {
- return SP_ERR_FAILURE;
- }
- #endif
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS)
- ||SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA))
- {
- return SP_ERR_FAILURE;
- }
- #endif
- if (DVBApp_CheckForRecord(eRecMode) != SP_SUCCESS)
- {
- dvb_printf("[%s %d]invalid to enter rec/timeshift!!! [off]\n",__FUNCTION__,__LINE__);
- return SP_ERR_FAILURE;
- }
- #ifdef SUPPORT_CLEAN_EX_DESCRIPTOR
- AL_Event_CleanExDescriptor();
- #elif defined SUPPORT_CLEAN_EPG
- AL_Event_CleanEPG();
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_MH5);
- #endif
- #if (defined CONFIG_MOD_PACK_TT) || (defined CONFIG_MOD_PACK_SUB)
- #ifdef CONFIG_MOD_PACK_SUB
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_SUB);
- #endif
- #ifdef CONFIG_MOD_PACK_TT
- AL_TTX_Stop();
- #endif
- if (TTOrSubModUnload() == false)
- {
- dvb_printf("[%s %d]invalid to enter rec/timeshift!!! [off]\n",__FUNCTION__,__LINE__);
- return SP_ERR_FAILURE;
- }
- #endif
- /* disable timer record */
- APP_GUIOBJ_DVB_PvrRec_SetDurationTime(0);//means not timer record //zhongbaoxing added for mantis 142788 @20110720
- if (MID_REC_MODE_MANUAL == eRecMode)
- {
- MID_Recorder_SetRecMode(MID_REC_MODE_MANUAL);
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- if(APP_WAKEUP_GetBootFlag() == TRUE)
- {
- printf("[debug ]%s %d\n",__FUNCTION__,__LINE__);
- printf("REC Mode Chang to MID_REC_MODE_UNATTENDED\n\n\n");
- MID_Recorder_SetRecMode(MID_REC_MODE_UNATTENDED);
- }
- #endif
- iRet = APP_GUIOBJ_DVB_PvrRec_StartRecord();
- if (iRet != PVR_MSG_SUCCESS)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_ENTER_NOT_VALID);
- MID_Recorder_SetRecMode(MID_REC_MODE_MAX);
- APP_GUIOBJ_DVB_PvrRec_RegUninitCallback();
- #if (defined CONFIG_MOD_PACK_TT) || (defined CONFIG_MOD_PACK_SUB)
- if (TTOrSubModLoad(TRUE) == TRUE)
- {
- #ifdef CONFIG_MOD_PACK_TT
- al_uint8 *pref_iso639 = al_null;
- /**< get digital TTX language index from EEPROM */
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE,
- ITEM_OFFSET(APP_SETTING_Feature_t, DigitalTTLang),
- sizeof(g_stFeatureData.DigitalTTLang),&(g_stFeatureData.DigitalTTLang));
- pref_iso639 = APP_Language_GetISO639ByIndx(g_stFeatureData.DigitalTTLang, APP_DATA_LANG_TYPE_TELETEXT);
- if(pref_iso639 == al_null)
- {
- pref_iso639 = APP_Language_GetISO639_2ByIndx(g_stFeatureData.DigitalTTLang, APP_DATA_LANG_TYPE_TELETEXT);
- }
- AL_TTX_Start(AL_TTX_SOURCE_TYPE_DIGITAL, pref_iso639);
- #endif
- }
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- if (APP_Area_SupportDtg())
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB | OSD2CTRLMDL_MH5);
- }
- else
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- }
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- return SP_ERR_FAILURE;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- #ifdef Subtitle_Freeze
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLE))
- {
- AL_Subtitle_SetFreeze(FALSE);
- }
- #endif
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- MID_PlaybackStreamResume(1);
- g_PauseState = FALSE;
- }
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_INIT);
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC, 0);
- #ifdef SUPPORT_FREE_RECORD_TIME
- if (APP_GUIOBJ_DVB_PvrRec_GetTimerRecord() == FALSE)
- {
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- AL_SCH_details_t sch_detail;
- al_uint32 CurTimeInSec = 0;
- AL_Time_GetCurTimeInSecs(&CurTimeInSec);
- memset(&sch_detail, 0, sizeof(AL_SCH_details_t));
- sch_detail.sch_event = AL_SCH_TYPE_SINGLE | AL_SCH_TYPE_PRG_EXPIRE_SCH;
- sch_detail.sch_snooze = 0;
- sch_detail.sch_time = CurTimeInSec + g_stFeatureData.FreeRecordTime*60; //for mantis 0156382
- sch_detail.sch_user_para = 0;
- PVR_DEBF("event_end_time_insec = %d\n", sch_detail.sch_time);
- PVR_DEBF("current time = %d\n", CurTimeInSec);
- AL_SCH_ScheduleEvent(&sch_detail, &stoprec_id, al_null);
- APP_GUIOBJ_DVB_PvrRec_SetDurationTime(g_stFeatureData.FreeRecordTime*60);
- }
- #endif
- }
- else if (MID_REC_MODE_TIMESHIFT_AFTER_REC == eRecMode)
- {
- MID_Recorder_SetRecMode(MID_REC_MODE_TIMESHIFT_AFTER_REC);
- iRet = APP_GUIOBJ_DVB_PvrRec_StartRecord();
- if (iRet != PVR_MSG_SUCCESS)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_ENTER_NOT_VALID);
- MID_Recorder_SetRecMode(MID_REC_MODE_MAX);
- APP_GUIOBJ_DVB_PvrRec_RegUninitCallback();
- #ifdef CONFIG_SUPPORT_MHEG5
- if (APP_Area_SupportDtg())
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB | OSD2CTRLMDL_MH5);
- }
- else
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- }
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- return SP_ERR_FAILURE;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- #ifdef Subtitle_Freeze
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLE))
- {
- AL_Subtitle_SetFreeze(FALSE);
- }
- #endif
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- MID_PlaybackStreamResume(1);
- g_PauseState = FALSE;
- }
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_INIT);
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- #ifdef SUPPORT_TEAC_TIMESHIFT_CTRL
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB,
- DVB_GUIOBJ_PVR_PLAYINFO, PVR_PLAYINFO_ENTERPAUSE);
- #else
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB,
- DVB_GUIOBJ_PVR_PLAYINFO, 0);
- #endif
- }
- else if (MID_REC_MODE_AUTO == eRecMode)
- {
- MID_Recorder_SetRecMode(MID_REC_MODE_AUTO);
- iRet = APP_GUIOBJ_DVB_PvrRec_StartRecord();
- if (iRet != PVR_MSG_SUCCESS)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_ENTER_NOT_VALID);
- MID_Recorder_SetRecMode(MID_REC_MODE_MAX);
- APP_GUIOBJ_DVB_PvrRec_RegUninitCallback();
- #ifdef CONFIG_SUPPORT_MHEG5
- if (APP_Area_SupportDtg())
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB | OSD2CTRLMDL_MH5);
- }
- else
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- }
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- return SP_ERR_FAILURE;
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_AUTOTIMESHIFT_INIT);
- }
- }
- #ifdef SUPPORT_LED_FLASH
- APP_LED_Flash_Timer_Set(LED_FLASH_TYPE_RECODER, LED_FLASH_TIMER_RECODER);
- #endif
- return SP_SUCCESS;
- }
- INT32 DVBApp_StopRecord(void)
- {
- AL_SCH_sched_id_t StopId= AL_SCH_INVALID_ID;
- AL_SCH_sched_id_t DurId= AL_SCH_INVALID_ID;
- StopId = DVBAPP_Pvr_GetStopTimer_id();
- if (StopId != AL_SCH_INVALID_ID)
- {
- //UnSchedule stop timer
- AL_SCH_UnScheduleEvent(&StopId);
- DVBApp_Pvr_SetStopTimer_id();
- }
- DurId = APP_GUIOBJ_DVB_PvrRecDurationTime_GetDurationID();
- if (DurId != AL_SCH_INVALID_ID)
- {
- //UnSchedule duration timer
- AL_SCH_UnScheduleEvent(&DurId);
- APP_GUIOBJ_DVB_PvrRecDurationTime_ResetDurationID();
- }
- /* //need modify kai.wang
- extern INT32 APP_GUIOBJ_DVB_TimerList_GetRecordingPR(AL_PR_details_t* details, int* PROffset);
- extern AL_Return_t APP_GUIOBJ_DVB_TimerList_DeleteRecordingPR(int Param);
- int iOffset = 0;
- if (APP_GUIOBJ_DVB_TimerList_GetRecordingPR(NULL, &iOffset) == AL_SUCCESS)
- {
- APP_GUIOBJ_DVB_TimerList_DeleteRecordingPR(iOffset);
- #ifdef SUB_CUSTOMER_Tianle
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST_FORTEAC))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST_FORTEAC,
- APP_GLOBAL_EVENT_REFRESH_DATA, 0);
- }
- #else
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST,
- APP_GLOBAL_EVENT_REFRESH_DATA, 0);
- }
- #endif
- }
- */
- #ifdef SUPPORT_PVR_RECORD_PLAY_CURRENTRECORD
- if ((DVBAPP_Pvr_GetRECPlayFlag())
- && (MID_REC_MODE_MANUAL == MID_Recorder_GetRecMode()))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO);
- }
- APP_GUIOBJ_DVB_PvrPlayInfo_StopTimeshift();
- }
- #endif
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- APP_GUIOBJ_DVB_PvrRec_StopRecord();
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_RECDURATIONTIME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_RECDURATIONTIME);
- }
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- //check for standby recorder for the case stop rec unnormally
- //sent to man app to call APP_WAKEUP_CompleteNotify();
- MAINAPP_SendGlobalEvent(APP_GLOGAL_EVENT_PVR_TIEMRREC_CHECKSTANDBY, AL_POWER_STATE_OFF);
- #endif
- #ifdef SUPPORT_LED_FLASH
- APP_LED_Flash_Timer_Set(LED_FLASH_TYPE_RECODER, 0);
- #endif
- APP_GUIOBJ_DVB_PvrRecInfo_SetDiskFull(FALSE);
- int u8MidRecState;
- al_uint8 u8AutoTimeShift;
- u8MidRecState = MID_RecorderState();
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE,
- ITEM_OFFSET(APP_SETTING_Feature_t, AutoTimeShift),
- sizeof(g_stFeatureData.AutoTimeShift), &(g_stFeatureData.AutoTimeShift));
- u8AutoTimeShift = g_stFeatureData.AutoTimeShift;
- if (APP_PVR_TIMESHIFT_AUTO == u8AutoTimeShift && u8MidRecState == MID_REC_STATUS_STOP)
- {
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- }
- #if (defined CONFIG_MOD_PACK_TT) || (defined CONFIG_MOD_PACK_SUB)
- if (TTOrSubModLoad(TRUE) == TRUE)
- {
- #ifdef CONFIG_MOD_PACK_TT
- al_uint8 *pref_iso639 = al_null;
- /**< get digital TTX language index from EEPROM */
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE,
- ITEM_OFFSET(APP_SETTING_Feature_t, DigitalTTLang),
- sizeof(g_stFeatureData.DigitalTTLang),&(g_stFeatureData.DigitalTTLang));
- pref_iso639 = APP_Language_GetISO639ByIndx(g_stFeatureData.DigitalTTLang, APP_DATA_LANG_TYPE_TELETEXT);
- if(pref_iso639 == al_null)
- {
- pref_iso639 = APP_Language_GetISO639_2ByIndx(g_stFeatureData.DigitalTTLang, APP_DATA_LANG_TYPE_TELETEXT);
- }
- AL_TTX_Start(AL_TTX_SOURCE_TYPE_DIGITAL, pref_iso639);
- #endif
- }
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- if (APP_Area_SupportDtg())
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB | OSD2CTRLMDL_MH5);
- }
- else
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- }
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- #ifdef SUPPORT_CLEAN_EX_DESCRIPTOR
- AL_Event_ReceiveExDescriptor();
- #elif defined SUPPORT_CLEAN_EPG
- AL_Event_ReceiveEPG();
- #endif
- return SP_SUCCESS;
- }
- INT32 DVBApp_StopTimeshift(Boolean bIsStopRec)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO);
- }
- APP_GUIOBJ_DVB_PvrPlayInfo_StopTimeshift();
- if (bIsStopRec)
- {
- #ifdef SUPPORT_LED_FLASH
- APP_LED_Flash_Timer_Set(LED_FLASH_TYPE_RECODER, 0);
- #endif
- char szPtName[20];
- int sdDefPtIdx = 0;
-
- if (MID_REC_FS_OK != MID_RecorderGetDefaultPartition(&sdDefPtIdx))
- {
- return SP_ERR_FAILURE;
- }
- MID_PartitionList_GetMountName(sdDefPtIdx, szPtName);
- MID_RecorderStop();
- MID_RecorderSetProgHandle(0);
- MID_Recorder_SetRecMode(MID_REC_MODE_MAX);
- MID_RecorderDeleteTSPLFiles(); //delete TSPL buffer when Timeshift without Timeshift to Record enabled
- MID_Recorder_DeleteTShistIfExist(szPtName);
- }
- return SP_SUCCESS;
- }
- static UINT8 DVBApp_CheakFocusPopOnlyForRECicon(void)
- {
- //For the problem: REC icon can not show when there are only some pops focused under REC
- UINT8 Flag = 0;
- INT32 iFocusedIndex = 0;
- if (SYSTEM_APP_NO_FOCUSED_GUIOBJ == SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- return Flag;
- }
- if (DVB_GUIOBJ_POPMSG == iFocusedIndex)
- {
- if(DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_RADIO_CHANNEL)
- ||DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_NO_SIGNAL)
- ||DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_TEMPSERVICE)
- ||DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_TEMPSERVICE_SERVICE_NOT_RUNNING)
- ||DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_SCRAMBLED)
- ||DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_SERVICE_NOT_AVAILABLE)
- ||DVBApp_IsPopupExist(PLAYBACK_POPUP_PWD_LOCKED))
- {
- Flag = 1;
- }
- }
- return Flag;
- }
- static INT32 _DVBApp_Recorder_PauseResume(void)
- {
- int iFocusedIndex;
- if (MID_RecorderState() == MID_REC_STATUS_PAUSE)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC);
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE, 0);
- }
- else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE, 0);
- }
- else if (SYSTEM_APP_NO_FOCUSED_GUIOBJ == SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex)
- || DVBApp_CheakFocusPopOnlyForRECicon())
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE, 0);
- }
- }
- if (MID_RecorderState() == MID_REC_STATUS_START)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE);
- if (MID_REC_MODE_MANUAL == MID_Recorder_GetRecMode())
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC, 0);
- #ifdef SUPPORT_PVR_RECORD_PLAY_CURRENTRECORD
- if(DVBAPP_Pvr_GetRECPlayFlag())
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, PVR_PLAYINFO_ENTERNORMAL);
- }
- #endif
- }
- }
- }
- return SP_SUCCESS;
- }
- void DVBApp_SetPVRSwitchSRC(Boolean Switch)
- {
- g_bPVRSwitchSource = Switch;
- }
- Boolean DVBApp_GetPVRSwitchSRC(void)
- {
- return g_bPVRSwitchSource;
- }
- void DVBApp_SetTVRadioSwap(Boolean IsSwap)
- {
- g_bTvRadioSwap = IsSwap;
- }
- Boolean DVBApp_GetTVRadioSwap(void)
- {
- return g_bTvRadioSwap;
- }
- AL_RecHandle_t DVBApp_GetSCHProgHandle(void)
- {
- return g_stDetails.rem_details.handle;
- }
- UINT32 DVBApp_GetTimerRECStartTime(void)
- {
- return g_stDetails.start_local_time_secs;
- }
- UINT32 DVBApp_GetReminderTime2Show(void)
- {
- al_uint32 CurTimeInSec = 0;
- AL_Time_GetCurTimeInSecs(&CurTimeInSec);
- if (g_stDetails.start_local_time_secs > CurTimeInSec)
- {
- return (g_stDetails.start_local_time_secs-CurTimeInSec);
- }
- else
- {
- return 1;//show 1 sec
- }
- }
- UINT32 DVBApp_PVRRec_SetTimerCancle(void)
- {
- AL_PR_details_t stDetails;
- if (g_stDetails.snooze_time_secs == 0)
- {
- AL_PR_Delete(g_dReminderId);
- }
- else
- {
- memset(&stDetails, 0x0, sizeof(AL_PR_details_t));
- memcpy(&stDetails, &g_stDetails, sizeof(AL_PR_details_t));
- stDetails.start_local_time_secs = stDetails.start_local_time_secs +
- stDetails.snooze_time_secs;
- stDetails.rem_details.event_end_time_insec = stDetails.rem_details.event_end_time_insec +
- stDetails.snooze_time_secs;
- if (AL_PR_Modify(&stDetails, g_dReminderId) != AL_SUCCESS)
- {
- dvb_printf("\n[%s]reschedule the reminder fail\n",__FUNCTION__);
- return SP_ERR_FAILURE;
- }
- }
- return SP_SUCCESS;
- }
- void DVBApp_SetRemType(AL_PR_type_t remtype)
- {
- g_remtype = remtype;
- }
- AL_PR_type_t DVBApp_GetRemType(void)
- {
- return g_remtype;
- }
- void _DVBApp_PVR_UpdateState(void)
- {
- UINT8 u8AutoTimeShift;
- UINT8 u8MidRecState;
- INT32 I32DefPartition;
- u8MidRecState = MID_RecorderState();
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE,
- ITEM_OFFSET(APP_SETTING_Feature_t, AutoTimeShift),
- sizeof(g_stFeatureData.AutoTimeShift), &(g_stFeatureData.AutoTimeShift));
- u8AutoTimeShift = g_stFeatureData.AutoTimeShift;
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- #if defined (CONFIG_SUPPORT_USB_UPGRADE) || defined (CONFIG_SUPPORT_OTA_UPGRADE)
- if (Mid_CmnUpgradeIsUpgradeing()== TRUE)
- {
- if ( MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- dvb_printf("[debug]%s %d\n",__FUNCTION__,__LINE__);
- dvb_printf("System is upgradeing........\n\n\n");
- DVBApp_StopTimeshift(TRUE);
- }
- if (u8AutoTimeShift == APP_PVR_TIMESHIFT_AUTO)
- {
- dvb_printf("[debug]%s %d\n",__FUNCTION__,__LINE__);
- dvb_printf("System is upgradeing........\n\n\n");
- u8AutoTimeShift = APP_PVR_TIMESHIFT_OFF;
- }
- }
- if((g_dCurPopup== POPMSG_CONFIRM_ERASE_WHOLE_FLASH)
- #ifdef CONFIG_SUPPORT_USB_AUTO_UPGRADE
- || (g_dCurPopup == POPMSG_CONFIRM_START_AUTO_UPGRADE)
- #endif
- )
- {
- if (u8AutoTimeShift == APP_PVR_TIMESHIFT_AUTO)
- {
- dvb_printf("[debug]%s %d\n",__FUNCTION__,__LINE__);
- dvb_printf("confirm if upgrade........\n\n\n");
- u8AutoTimeShift = APP_PVR_TIMESHIFT_OFF;
- }
- }
- #endif
- if ((g_u8BGTimeshiftStart > 0)
- && (APP_PVR_TIMESHIFT_AUTO == u8AutoTimeShift)
- && (u8MidRecState == MID_REC_STATUS_STOP)
- )
- {
- if (--g_u8BGTimeshiftStart == 0)
- {
- if ((MID_RecorderGetDefaultPartition(&I32DefPartition) != MID_REC_FS_OK)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- g_u8BGTimeshiftStart = PVR_BGTIMESHIFT_START_INTERVAL;
- }
- else
- {
- UINT8 u8ProgLockState = FALSE;
- u8ProgLockState = APP_DVB_Playback_GetProgStateByHandle(eNetType, AL_DB_INVALIDHDL);
- if ((u8ProgLockState == MID_PLAYBK_PROG_STATE_LOCKED)
- ||(u8ProgLockState == MID_PLAYBK_PROG_STATE_AUDIO_VIDEO_SCRAMBLED)
- ||(u8ProgLockState == MID_PLAYBK_PROG_STATE_ONLY_VIDEO_SCRAMBLED)
- ||(u8ProgLockState == MID_PLAYBK_PROG_STATE_ONLY_AUDIO_SCRAMBLED)
- ||(u8ProgLockState == MID_PLAYBK_PROG_STATE_TEMP_SERVICE)
- ||(u8ProgLockState == MID_PLAYBK_PROG_STATE_NOT_RUNNING)
- || (MID_TSPLParser_GetThreadState() == TRUE)
- || (DVBApp_CheckServiceNotAvailable() == TRUE)
- )
- {
- g_u8BGTimeshiftStart = PVR_BGTIMESHIFT_START_INTERVAL;
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO);
- }
- PVR_DEBF("[%s: %d] ============start BG timeshift!!! \n", __FUNCTION__, __LINE__);
- //DVBApp_ResetPopup_Channel();
- if (DVBApp_StartRecord(MID_REC_MODE_AUTO) == SP_ERR_FAILURE)
- {
- g_u8BGTimeshiftStart = PVR_BGTIMESHIFT_START_INTERVAL;
- }
- }
- }
- }
- }
- if (u8MidRecState != MID_REC_STATUS_STOP)
- {
- int iFocusedIndex;
- AL_RecHandle_t hRecProg;
- AL_RecHandle_t hCurProg;
- AL_DB_EDBType_t DBType = AL_DBTYPE_MAX;
- UINT8 u8MIDRecMode;
- APP_Database_GetCurrentDBType(APP_SOURCE_DTV, &DBType);
- hCurProg = APP_DVB_Playback_GetCurrentProgHandle(DBType, AL_RECTYPE_DVBTV | AL_RECTYPE_DVBRADIO | AL_RECTYPE_DVBDATA);
- hRecProg = MID_RecorderGetProgHandle();
- u8MIDRecMode = MID_Recorder_GetRecMode();
- if ((hCurProg != hRecProg || (APP_IsScan_Running()== TRUE))&& ( MID_RecorderIsCurRecording() == DRV_SUCCESS))
- {
- PVR_DEBF("\n\n\n[%s: %d]============== program/TS change!!\n\n\n", __FUNCTION__, __LINE__);
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- DVBApp_StopRecord();
- }
- else if ((MID_REC_MODE_TIMESHIFT_AFTER_REC == u8MIDRecMode) ||
- (MID_REC_MODE_AUTO == u8MIDRecMode))
- {
- DVBApp_StopTimeshift(FALSE);
- if (APP_PVR_TIMESHIFT_AUTO == u8AutoTimeShift)
- {
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- }
- }
- return;
- }
- // deal with PAUSE/REC/TIMESHIFT menu flow
- if (SYSTEM_APP_NO_FOCUSED_GUIOBJ == SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex)
- || DVBApp_CheakFocusPopOnlyForRECicon()) //reshow PVR menu
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- return;
- }
- if (MID_REC_MODE_TIMESHIFT_AFTER_REC == u8MIDRecMode)
- {
- if ((u8MidRecState == MID_REC_STATUS_PAUSE) &&
- (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE)))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE, 0);
- }
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, 0);
- }
- else if ((APP_GUIOBJ_DVB_PvrPlayInfo_ExitTimeMenu() == FALSE)
- && (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO)))
- {
- APP_GUIOBJ_DVB_PvrPlayInfo_CreatTimemenu();
- }
- }
- else if ((MID_REC_MODE_AUTO == u8MIDRecMode) &&
- (PVR_STATE_STOP != APP_GUIOBJ_DVB_PvrPlayInfo_GetRecState()))
- {
- if ((u8MidRecState == MID_REC_STATUS_PAUSE) &&
- (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE)))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE, 0);
- }
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, 0);
- }
- else if ((APP_GUIOBJ_DVB_PvrPlayInfo_ExitTimeMenu() == FALSE)
- && (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO)))
- {
- APP_GUIOBJ_DVB_PvrPlayInfo_CreatTimemenu();
- }
- }
- else if ((MID_REC_MODE_MANUAL == u8MIDRecMode) &&
- (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC)) &&
- (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE)))
- {
- if (u8MidRecState == MID_REC_STATUS_START)
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC, 0);
- #ifdef SUPPORT_PVR_RECORD_PLAY_CURRENTRECORD
- if((DVBAPP_Pvr_GetRECPlayFlag())
- && (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO)))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, PVR_PLAYINFO_ENTERNORMAL);
- }
- #endif
- }
- else if (u8MidRecState == MID_REC_STATUS_PAUSE)
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE, 0);
- #ifdef SUPPORT_PVR_RECORD_PLAY_CURRENTRECORD
- if((DVBAPP_Pvr_GetRECPlayFlag())
- && (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO)))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, PVR_PLAYINFO_ENTERNORMAL);
- }
- #endif
- }
- }
- }
- if ((MID_REC_STATUS_PAUSE == u8MidRecState)
- && (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE)))//show pause menu
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC);
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE, 0);
- }
- else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE, 0);
- }
- else if (SYSTEM_APP_NO_FOCUSED_GUIOBJ == SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex)
- || DVBApp_CheakFocusPopOnlyForRECicon())
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE, 0);
- }
- }
- else if (MID_REC_STATUS_START == u8MidRecState) //hide pause menu
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE);
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC, 0);
- #ifdef SUPPORT_PVR_RECORD_PLAY_CURRENTRECORD
- if((DVBAPP_Pvr_GetRECPlayFlag())
- && (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO)))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, PVR_PLAYINFO_ENTERNORMAL);
- }
- #endif
- }
- }
- }
- }
- else //rec stop, destroy all pvr menu
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO);
- }
- }
- }
- #ifdef SUPPORT_PVR_REMINDER_CONFIRM_SPEC
- static void _DVBApp_StopRECForTimerConfirmDone(UINT32 dParam)
- {
- AL_DB_EDBType_t DBType_ret = AL_DBTYPE_DVB_T;
- AL_DB_EDBType_t DBType_Current = AL_DBTYPE_DVB_T;
- AL_DB_ERecordType_t RecType = AL_RECTYPE_DVBTV;
- AL_RecHandle_t CurrentProgHandle;
- al_uint32 u32CurrentTime = 0;
- UINT8 u8MIDRecMode = MID_Recorder_GetRecMode();
- /* get timer program */
- AL_DB_GetRecordType(g_stDetails.rem_details.handle, &DBType_ret, &RecType);
- /* get current program handele */
- AL_Setting_Reload(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- if (g_stChannelData.TV_Connection == APP_RF_TYPE_DVB_C)
- {
- DBType_Current = AL_DBTYPE_DVB_C;
- }
- else if (g_stChannelData.TV_Connection == APP_RF_TYPE_DVB_T)
- {
- DBType_Current = AL_DBTYPE_DVB_T;
- }
- else if (g_stChannelData.TV_Connection == APP_RF_TYPE_DVB_S)
- {
- DBType_Current = AL_DBTYPE_DVB_S;
- }
- CurrentProgHandle = APP_DVB_Playback_GetCurrentProgHandle(DBType_Current, AL_RECTYPE_DVBTV | AL_RECTYPE_DVBRADIO | AL_RECTYPE_DVBDATA);
- if ((dParam == POPMSG_CONFIRM_STOP_REC_FOR_TIMER_REC)
- ||(dParam == POPMSG_CONFIRM_STOP_TSHIFT_FOR_TIMER_REC))
- {
- AL_Time_GetCurTimeInSecs(&u32CurrentTime);
- dvb_printf("================ current time %d\n",u32CurrentTime);
- dvb_printf("================ rec end time %d\n", g_stDetails.rem_details.event_end_time_insec);
- if (u32CurrentTime >
- (g_stDetails.rem_details.event_end_time_insec-10))
- {
- /* if the left time is less than 10Sec. not to respond the confirm */
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMER_OUT_OF_DATE);
- return;
- }
- }
- /* zap prog */
- if (g_stDetails.rem_details.handle != CurrentProgHandle)
- {
- PVR_DEBF("handle ==== %d\n", g_stDetails.rem_details.handle);
- PVR_DEBF(" CurrentProgHandle ==== %d\n", CurrentProgHandle);
- g_ProgHandleB4Rec = g_stDetails.rem_details.handle;
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- if (u8MIDRecMode == MID_REC_MODE_MANUAL)
- DVBApp_StopRecord();
- else
- DVBApp_StopTimeshift(TRUE);
- }
- _DVBApp_CloseAllMenu();
- #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM)
- APP_RFType_en eRFType = APP_RF_TYPE_DVB_T;
- if (DBType_Current != g_stDetails.db_type)
- {
- if (g_stDetails.db_type == AL_DBTYPE_DVB_T)
- {
- eRFType = APP_RF_TYPE_DVB_T;
- }
- else if (g_stDetails.db_type == AL_DBTYPE_DVB_C)
- {
- eRFType = APP_RF_TYPE_DVB_C;
- }
- else if (g_stDetails.db_type == AL_DBTYPE_DVB_S)
- {
- eRFType = APP_RF_TYPE_DVB_S;
- }
- APP_GUIOBJ_Channel_SetRFTypeWithHdl(eRFType,
- g_stDetails.rem_details.handle);
- }
- else
- #endif
- {
- _DVBApp_Zapping(RecType, g_stDetails.rem_details.handle, FALSE, 0, TRUE);
- }
- }
- if (g_stDetails.rem_type == AL_PR_EVT_REM)
- {
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- if (u8MIDRecMode == MID_REC_MODE_MANUAL)
- DVBApp_StopRecord();
- else
- DVBApp_StopTimeshift(TRUE);
- }
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- _APP_GUIOBJ_DVB_PvrRecDurationTime_ResetDurTime();
- if (DVBApp_StartRecord(MID_REC_MODE_MANUAL) != SP_SUCCESS)
- {
- APP_GUIOBJ_DVB_PvrRec_SetTimerRecord(FALSE);
- DVBApp_SetTVRadioSwap(FALSE);
- g_ProgHandleB4Rec = 0;
- return;
- }
- //APP_GUIOBJ_DVB_PvrRecDurationTime_SetDurTime(g_stDetails.rem_details.event_end_time_insec);
- }
- if ((dParam == POPMSG_CONFIRM_STOP_REC_FOR_REMINDER)
- ||(dParam == POPMSG_CONFIRM_STOP_TSHIFT_FOR_REMINDER))
- {
- DVBApp_SetTVRadioSwap(FALSE);
- g_ProgHandleB4Rec = 0;
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- if(APP_WAKEUP_GetBootFlag() == TRUE)
- {
- APP_WAKEUP_RealPowerUp();
- }
- #endif
- }
- }
- #endif
- Boolean g_PVR_TimerRecStart = FALSE;
- Boolean DVBApp_PVRDEMUX_GetTimerRECFLag(void)
- {
- return g_PVR_TimerRecStart;
- }
- void DVBApp_PVRDEMUX_SetTimerRECFLag(Boolean bFlag)
- {
- g_PVR_TimerRecStart = bFlag;
- }
- void DVBApp_PVRDEMUX_StartTimerREC(void)
- {
- if (DVBApp_StartRecord(MID_REC_MODE_MANUAL) != SP_SUCCESS)
- {
- APP_GUIOBJ_DVB_PvrRec_SetTimerRecord(FALSE);
- DVBApp_SetTVRadioSwap(FALSE);
- g_ProgHandleB4Rec = 0;
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- //sent to man app to call APP_WAKEUP_CompleteNotify()
- MAINAPP_SendGlobalEvent(APP_GLOGAL_EVENT_PVR_TIEMRREC_CHECKSTANDBY, AL_POWER_STATE_OFF);
- #endif
- //need modify kai.wang
- /*extern INT32 APP_GUIOBJ_DVB_TimerList_GetRecordingPR(AL_PR_details_t* details, int* PROffset);
- extern AL_Return_t APP_GUIOBJ_DVB_TimerList_DeleteRecordingPR(int Param);
- int iOffset = 0;
- if (APP_GUIOBJ_DVB_TimerList_GetRecordingPR(NULL, &iOffset) == AL_SUCCESS)
- {
- APP_GUIOBJ_DVB_TimerList_DeleteRecordingPR(iOffset);
- }*/
- }
- return ;
- }
- #endif
- #ifdef TEAC_BLUE_KEY_FUNCTION
- APP_Panel_PowerSequenceType_e _DVB_GetPanelControlType(void)
- {
- return g_eAppPanelOnOff;
- }
- void _DVB_SetPanelControlType(APP_Panel_PowerSequenceType_e eType)
- {
- g_eAppPanelOnOff = eType;
- }
- #endif
- static INT32 _DVBApp_OnCreate(void **ppPrivateData)
- {
- dvb_printf(" %s is called.\n", __FUNCTION__);
- _DVBApp_DTV_main_program(NULL);
- DvbPrivateData_t *pDvbPrivateData = (DvbPrivateData_t *) GL_MemAlloc(sizeof(DvbPrivateData_t));
- if(pDvbPrivateData != NULL)
- {
- memset(pDvbPrivateData, 0x00, sizeof(DvbPrivateData_t));
- pDvbPrivateData->dUserData = 0;
- }
-
- (*ppPrivateData) = (void *)pDvbPrivateData;
- stDvbInst.bAppState = SYSTEM_IDLE;
- return 0;
- }
- static INT32 _DVBApp_OnDestroy(void **ppPrivateData)
- {
- dvb_printf(" %s is called.\n", __FUNCTION__);
- SYSAPP_GOBJ_FinalizeGUIObject(SYS_APP_DVB);
- GL_MemFree((*ppPrivateData));
- (*ppPrivateData) = NULL;
- return 0;
- }
- static INT32 _DVBApp_OnRun(void *pPrivateData, UINT32 dParam)
- {
- dvb_printf(" %s is called.\n", __FUNCTION__);
- #if 0 //set ttx codepage when open create ttx.
- UINT32 u32DTVTTXZone = 0;
- #endif
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_SYSINFO, 0,
- sizeof(APP_SETTING_SystemInfo_t), &(g_stSysInfoData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_TVINFO, 0,
- sizeof(APP_SETTING_TVInfo_t), &(g_stTVInfoData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL, 0,
- sizeof(APP_SETTING_Variational_t), &(g_stVariationalData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_MULTIMEDIA, 0,
- sizeof(APP_SETTING_Multimedia_t), &(g_stMultiMediaData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_SETUP, 0,
- sizeof(APP_SETTING_Setup_t), &(g_stSetupData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- stDvbInst.bAppState = SYSTEM_RUNNING;
- dvb_printf(" Dvbt state is %d.\n", stDvbInst.bAppState);
- #ifdef CONFIG_ENABLE_UMF_MODULES
- if (umf_checkModuleLoaded(UMFMOD_MEDIA))
- {
- MAINAPP_SendGlobalEvent(APP_GLOBAL_EVENT_FINALIZE_SYSAPP, SYS_APP_FILE_PLAYER);
- }
- #ifdef CONFIG_MOD_PACK_ATV
- if (umf_checkModuleLoaded(UMFMOD_ATV))
- {
- MAINAPP_SendGlobalEvent(APP_GLOBAL_EVENT_FINALIZE_SYSAPP, SYS_APP_ATV);
- }
- #endif
- #endif
- if (dParam == 0)
- {
- #ifdef SHOW_LOGO_NOSIGNAL
- // init show logo
- #ifdef JPEG_LOGO
- LOGO_Init();
- extern char *pu32LMA;
- extern unsigned int pu32LMASize;
- LOGO_SetParam((const UINT8 *)pu32LMA, pu32LMASize);
- //LOGO_SetShowPicLogoPlane(Logo_VPP_PLANE);
- //LOGO_StartUp_Pic_Show_AlignOrigin(gpAL_PanelDisplayDesc->Size.wHorSize, gpAL_PanelDisplayDesc->Size.wVerSize);
- #else
- extern const unsigned char DVDTitle[];
- extern const int DVDTitleSize;
- LOGO_Init();
- LOGO_SetParam(DVDTitle, DVDTitleSize);
- #endif
- #else
- //mute screen to black or user define color
- #endif
- }
- APP_GUIOBJ_PopMs_SetCloseFun(DVBApp_ClosePopup);
- APP_GuiMgr_Set_Menu() ;
- APP_GuiMgr_SwitchShareMenu(SYS_APP_DVB);
- // AUDIF_Set_OutputMode(OUT_RFModeK3, 0);
- // AUDIF_Set_OutputMode(OUT_CustomModeB_DigitalDialnormK1, 0x6464);
- #ifdef SUPPORT_CONAX_CAS
- //DVB_Conax_Init();
- CONAX_MMI_CallbackInit();
- #endif
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- APP_DVB_GLOBAL_EVENT_DVB_ONRUN | PASS_TO_SYSAPP,TRUE);
- #ifdef CONFIG_SUPPORT_DETECT_USBPLL
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
- sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_MUTE))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_MUTE, 0);
- }
-
- UINT8 u8USBPLL_Fail = 0;
- Cmd_NVMRead(ENVMPurposeIDUSBPLLFailFlag, FALSE, sizeof(UINT8), &u8USBPLL_Fail);
- if(u8USBPLL_Fail == TRUE)
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, APP_GUIOBJ_MUTE,
- APP_INTRA_EVENT_SHOW_CLK_ERROR, 0);
- }
- #endif
- dvb_printf(" %s is exit., time: %d\n", __FUNCTION__,GL_GetRtc32());
- return 0;
- }
- static INT32 _DVBApp_OnTerminate(void *pPrivateData, UINT32 dParam)
- {
- dvb_printf(" %s is called., time: %d\n", __FUNCTION__,GL_GetRtc32());
- #ifdef CONFIG_CI_SUPPORT
- g_Audio_Scramble_Counter = 0;
- g_VIP_FINISH_Flg = FALSE;
- #endif
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE | OSD2CTRLMDL_ALL);
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- #ifdef Subtitle_Freeze
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLE))
- {
- AL_Subtitle_SetFreeze(al_false);
- }
- #endif
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_MUTE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_MUTE);
- }
- SYSAPP_GOBJ_FinalizeGUIObject(SYS_APP_DVB);
- g_u32OldPopup = PLAYBACK_POPUP_NONE;
- #ifdef CONFIG_SUPPORT_PVR
- MID_TSPLParser_UnInit();
- #endif
- APP_GuiMgr_UnInitDvbOSD2();
- stDvbInst.bAppState = SYSTEM_IDLE;
- #ifdef CONFIG_MOD_PACK_DTV
- MAINAPP_SendGlobalEvent(APP_GLOBAL_EVENT_FINALIZE_SYSAPP, SYS_APP_DVB);
- #endif
- #ifdef CONFIG_MOD_PACK_DTV
- MAINAPP_SendGlobalEvent(APP_GLOBAL_EVENT_FINALIZE_SYSAPP, SYS_APP_DVB);
- #endif
- dvb_printf(" %s is exit., time: %d\n", __FUNCTION__,GL_GetRtc32());
- return 0;
- }
- static void _DVBApp_Process_Unmute(void)
- {
- UINT8 RegionIdx = 0;
- ColorLUT_t stColorLUTValue;
- APP_Source_Type_t eSourType = APP_SOURCE_MAX;
- APP_StorageSource_Type_t eStorageSourType = APP_STORAGE_SOURCE_MAX;
- if ((g_bMidHasUnmute == TRUE) && (bSetUnMuteFlag == TRUE))
- {
- if (g_SetPQFlag == FALSE)
- {
- g_SetPQFlag = TRUE;
- /*set PQ param*/
- AL_FLASH_GetColorLUTALL(&stColorLUTValue);
- for(RegionIdx = 0; RegionIdx<APP_ColorLUT_NUM; RegionIdx++)
- {
- MID_TVFE_SetColorLUT7Range(RegionIdx,APP_Video_GetColorLUTSetting(LUT_FUN_MAKE,RegionIdx),
- stColorLUTValue.n_PicMode_CoLUT_HueMin[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_HueMax[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_SatMin[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_SatMax[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_YMin[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_YMax[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_SmoothLevel[RegionIdx],
- FALSE);
- MID_TVFE_SetColorLUT7Axis(RegionIdx,
- stColorLUTValue.n_PicMode_CoLUT_Enable[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_HueGain[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_SatGain[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_YGain[RegionIdx],
- RegionIdx==(APP_ColorLUT_NUM - 1)? TRUE : FALSE);
- }
- // Dynamic contrast
- DynamicContrast_t stDynamic;
- AL_FLASH_GetDynamicContrastALL(&stDynamic);
- int nLevel = stDynamic.n_PicMode_DynCon_DynamicContrastlevel;
- MID_TVFE_SetPictureDynamicContrastEnable( nLevel ? 1 : 0);
- MID_TVFE_SetPictureContrastLevel( stDynamic.n_PicMode_DynCon_ContrastLevel[nLevel] );
- MID_TVFE_SetPictureChromaLevel( stDynamic.n_PicMode_DynCon_ChromaLevel[nLevel] );
- MID_TVFE_SetPictureAlphaMode1( stDynamic.n_PicMode_DynCon_Alphamode1[nLevel] );
- MID_TVFE_SetPictureAlphaMode2( stDynamic.n_PicMode_DynCon_Alphamode2[nLevel] );
- MID_TVFE_SetPictureAlphaMode3( stDynamic.n_PicMode_DynCon_Alphamode3[nLevel] );
- MID_TVFE_SetPictureAlphaMode4( stDynamic.n_PicMode_DynCon_Alphamode4[nLevel] );
- MID_TVFE_SetPictureFleshToneLevel( stDynamic.n_PicMode_DynCon_FleshToneLevel );
- APP_GUIOBJ_Source_GetCurrSource(&eSourType);
- eStorageSourType = APP_Data_UserSetting_SourceTypeMappingToStorage(eSourType);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE, 0,
- sizeof(APP_SETTING_Picture_t), &(g_stPictureData));
- APP_Video_SetPictureMode(
- g_stPictureData.stPictureModeSourceTab[eStorageSourType].PictureModeIndex);
- //APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_BACKLIGHT, g_stPictureData.stPictureModeSourceTab[eStorageSourType].stUserTab.Backlight);
- APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_COLORTEMP, g_stPictureData.stPictureModeSourceTab[eStorageSourType].ColorTempIndex);
- APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_NR, g_stPictureData.NR);
- }
- DVBApp_CheckProgramType(TRUE);
- bSetUnMuteFlag = FALSE;
- }
- }
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- void DVBApp_DVBS_ConnectSignal(void)
- {
- dvb_printf("[%s %d]\n", __FUNCTION__, __LINE__);
- Ant_TRANSPONDER_st TpInfo;
- AL_MultiplexDetail_t stTPInfo;
- AL_RecHandle_t hCurTpHdl = AL_DB_INVALIDHDL;
- AL_RecHandle_t hCurServHdl = AL_DB_INVALIDHDL;
- #ifdef CONFIG_DVB_SYSTEM_EXTEND_DVBS_AFC
- FrontendCmd_t front;
- INT32 tmpINT32=0;
- front.cmd = FRONTEND_CMD_GET_LONG_CFO_SEARCH_MODE;
- front.param = (void*)&tmpINT32;
- ioctl(kmfdev, KMF_IOC_FRONTENDCTRL , &front);
- if(tmpINT32 == 1)
- {
- dvb_printf("[%s %d] return when long cfo search mode\n", __FUNCTION__, __LINE__);
- return ;
- }
- #endif
- hCurServHdl = APP_DVB_Playback_GetCurrentProgHandle(AL_DBTYPE_DVB_S, APP_DVB_Playback_GetCurrServiceType(AL_DBTYPE_DVB_S));
- if (hCurServHdl != AL_DB_INVALIDHDL)
- {
- hCurTpHdl = hCurServHdl;
- AL_DB_GetRecord(AL_DB_REQ_GETPARENT, AL_DBTYPE_DVB_S, AL_RECTYPE_DVBMULTIPLEX, &hCurTpHdl);
- AL_DB_QueryDetail(hCurTpHdl, &stTPInfo);
- memset(&TpInfo, 0, sizeof(TpInfo));
- TpInfo.usFreq = MID_SatCtrl_GetIfFrequency(stTPInfo.stDVBSMultiplex.usFreqM&0xffff);
- TpInfo.usSymRate = stTPInfo.stDVBSMultiplex.usSymRateK;
- TpInfo.u8Polar = stTPInfo.stDVBSMultiplex.ucSkew;
- TpInfo.u8TpType = stTPInfo.stDVBSMultiplex.ucTp_dvb_type;
- APP_Dvbsx_ConnectFrontend(TpInfo);
- }
- }
- #endif
- static INT32 _DVBApp_OnTimerUpdate(void *pPrivateData)
- {
- UINT32 NoSignalTimer;
- INT32 dFocusedIndex;
- al_uint8 bMonitorState = al_false;
- al_uint8 bSignalState = al_false;
- APP_Source_Type_t eSourType = APP_SOURCE_MAX;
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- AL_DB_ERecordType_t eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- al_bool bHasValidServ = AL_DB_HasVisibleService(eNetType);
- /*Delay the mute key sending to AMP*/
- if((0 <= g_u32Mutekeydelaytime) && (g_u32Mutekeydelaytime < MUTE_KEY_INTERVAL))
- {
- g_u32Mutekeydelaytime++;
- g_u32MuteIconHandle++;
- }
- /*Set timer to source translate state
- avoid dvb app not received onrun message result in not clear the falg*/
- if (APP_GUIOBJ_Source_GetSourceTransState())
- {
- g_u8SourceTrastTimer++;
- if (g_u8SourceTrastTimer >= 3)//3*100ms
- {
- APP_GUIOBJ_Source_SetSourceTransState(FALSE);
- g_u8SourceTrastTimer = 0;
- }
- }
- /*Set timer to clear zapping state
- avoid dvb app not received tuner locke or tuner unlock message result in not clear the flag*/
- if (APP_GUIOBJ_DVB_Playback_GetZappingState())
- {
- g_u8ZappingTimer++;
- if (g_u8ZappingTimer >= 2)//3*100ms
- {
- APP_GUIOBJ_DVB_Playback_SetZappingState(FALSE);
- g_u8ZappingTimer = 0;
- }
- }
- //Polling DSP to detect audio channel num change.
- g_AdioChnPolTime++;
- if (g_AdioChnPolTime >= 10)//10*100ms = 1s
- {
- APP_Audio_PollingAudioChnannelNum();
- g_AdioChnPolTime = 0;
- }
- #ifdef CONFIG_TESTAUTOREBOOT
- {
- FW_mode_t FW_Module = FW_NORMAL_VIEW_MODE;
- AL_FW_GetFWModule(&FW_Module);
- /*don't enable autoreboot while searching channel and update*/
- if (FW_Module == FW_CHAN_SRCH_MODE || FW_Module == FW_UPGRADE_MODE)
- {
- ir_autoreboot_disable();
- }
- }
- #endif
- #ifdef CONFIG_CI_SUPPORT
- if (g_Audio_Scramble_Counter>0)
- {
- if (g_VIP_FINISH_Flg)//Mean video has been descramble.
- {
- g_VIP_FINISH_Flg = 0;
- g_Audio_Scramble_Counter = 0;
- }
- else
- {
- g_Audio_Scramble_Counter--;
- if (g_Audio_Scramble_Counter==0)
- {
- g_bNoSteamData = FALSE;
- {
- #ifdef CONFIG_SUPPORT_TTX
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TTX);
- }
- #endif
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_ALL);
- }
- #ifdef CONFIG_SUPPORT_PVR
- UINT8 u8MidRecState;
- u8MidRecState = MID_RecorderState();
- if (u8MidRecState == MID_REC_STATUS_START)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- g_bScrambleFlag = PROG_STATUS_ONLY_VIDEO_SCRAMBLED;
- DVBApp_CheckProgramType(TRUE);
- }
- }
- }
- else
- {
- if (g_VIP_FINISH_Flg==TRUE)
- {
- g_VIP_FINISH_Flg = 0;
- }
- }
- #endif
- #if defined(CELLO_cello) && defined(SUPPORT_HOMEMODE)
- /*Cello spec: Home Mode Open*/
- if(APP_GUIOBJ_AutoInstall_GetOpenHomeModeFlag())
- {
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- if((g_stUserInfoData.AutoInstalledHomeMode)
- &&(!g_stUserInfoData.AutoInstalled))
- {
- #ifdef CONFIG_SUPPORT_USB_UPGRADE
- if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE))
- #endif
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, APP_GLOBAL_EVENT_OPEN_HOMEMODE|PASS_TO_SYSAPP, 0);
- }
- }
- }
- #endif
- APP_GUIOBJ_Source_GetCurrSource(&eSourType);
- if (SYSTEM_APP_NO_FOCUSED_GUIOBJ == SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &dFocusedIndex))
- {
- if (!APP_MenuMgr_Exist_Main_Menu())
- {
- _DVBApp_CheckPopupDisplay();
- }
- }
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_MONITOR, &bMonitorState);
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- AL_RecHandle_t hTempHdl = AL_DB_INVALIDHDL;
- MID_PlaybackGetCurProgHandle(al_null, &hTempHdl);
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- DBPIDInfo_t stVideoPid;
- memset(&stVideoPid,0xff,sizeof(DBPIDInfo_t));
- AL_DB_QueryDetailFieldByName(hTempHdl, (al_uint8 *)"stVideoPid", (al_void *)&stVideoPid);
- #endif
- if (!bHasValidServ && (hTempHdl == AL_DB_INVALIDHDL))
- {
- g_bTempSerFlag = FALSE;
- if (SYSTEM_APP_NO_FOCUSED_GUIOBJ == SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &dFocusedIndex))
- {
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
- sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
- if (!DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_DATABASE_EMPTY) && !g_stFactoryUserData.n_FactSet_BurningMode)
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_SHOWLOGO, 0);
- DVBApp_ResetPopup_Channel();
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_DATABASE_EMPTY);
- DVBApp_CheckProgramType(FALSE);
- }
- }
- #ifdef CONFIG_TESTAUTOREBOOT
- #ifdef CONFIG_AUTOREBOOT_NO_SIGNAL
- ir_autoreboot_enable();
- #endif
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- #endif
- {
- return 0;
- }
- }
- else if (bMonitorState == al_true)
- {
- if (bSignalState == AL_DVB_MONITOR_VALUE_FALSE)
- {
- g_bTempSerFlag = FALSE;
- if(!(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SLEEP_INFO))||
- !(APP_MenuMgr_Exist_Factory_Menu()))
- {
- g_u32NoSignalTimer ++;
- g_u32NoSignalSleepTimer ++;
- }
- #ifdef CONFIG_SUPPORT_PVR
- if(MID_TSPLParser_GetThreadState() == TRUE)
- {
- g_u32NoSignalSleepTimer = 0;
- }
- #endif
- /*2.1.10 Input factory auto test mode close no signal standby function*/
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- if(APP_Factory_GetAutoTestOnOff() == TRUE)
- {
- g_u32NoSignalTimer = 0;
- g_u32NoSignalSleepTimer = 0;
- }
- #endif
- if (g_u32NoSignalSleepTimer == DVB_10_MINUTES)
- {
- g_u32NoSignalSleepTimer = 0;
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SLEEP_INFO) && (APP_GUIOBJ_SleepTimer_GetStandbyPopConflict() == FALSE))
- {
- APP_GUIOBJ_SleepTimer_SetStandbyPopConflict(TRUE);
- }
- #ifdef CONFIG_SUPPORT_NO_SIGNAL_STANDBY
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- (APP_GLOBAL_EVENT_SLEEP_TIMER_INFO | PASS_TO_SYSAPP), APP_POWERDOWN_NO_SINGAL);
- #endif
- }
- if (APP_RF_TYPE_DVB_S == g_stChannelData.TV_Connection)
- {
- NoSignalTimer = 45;
- }
- else
- {
- NoSignalTimer = 15;
- }
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- if ((eNetType == AL_DBTYPE_DVB_S) && AL_CS_IsStop())
- {
- static UINT8 noSignalCnt = 0;
- noSignalCnt++;
- if (noSignalCnt > 60)
- {
- DVBApp_DVBS_ConnectSignal();
- noSignalCnt = 0;
- }
- }
- #endif
- if (g_u32NoSignalTimer >= NoSignalTimer)//15*100ms
- {
- if ((eSourType == APP_SOURCE_DTV)
- || (eSourType == APP_SOURCE_RADIO))
- {
- #ifdef CONFIG_SUPPORT_PVR //if playing timeshift file not to mute video
- UINT32 u32PEState = MID_TSPL_MODE_STOP;
- if (MID_TSPLParser_GetPlayState(&u32PEState, NULL) == DRV_SUCCESS)
- {
- if (MID_TSPL_MODE_STOP == u32PEState)
- {
- if (!DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_NO_SIGNAL)
- && !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE)
- &&(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG)))
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- APP_DVB_GLOBAL_EVENT_NO_SIGNAL, 0);
- }
- }
- }
- else
- #endif
- if (!DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_NO_SIGNAL))
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_RecorderState() != MID_REC_STATUS_STOP)
- {
- PopmsgType_t eType = POPMSG_TYPE_NONE;
- APP_GUIOBJ_PopMsg_GetMsgType(&eType);
- if (eType != POPMSG_TYPE_CONFIRM)
- {
- //not to send no signal event to clear comfirm type popmsg
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- APP_DVB_GLOBAL_EVENT_NO_SIGNAL, 0);
- }
- }
- else
- #endif
- {
- if(!(DVBApp_IsPopupExist(PLAYBACK_POPUP_PWD_LOCKED)))
- {
- #ifdef CONFIG_CIPLUS_SUPPORT
- if( !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG) && !APP_CIPLUS_IsVirtualChannel(0) )
- #else
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- #endif
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- APP_DVB_GLOBAL_EVENT_NO_SIGNAL, 0);
- }
- }
- }
- }
- }
- }
- }
- else
- {
- g_u32NoSignalTimer = 0;
- MID_PlaybackProgState_t progstate = MID_PLAYBK_PROG_STATE_NORMAL;
- progstate = APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL);
- #ifdef CONFIG_SUPPORT_PVR
- if (g_bNoSteamData == TRUE
- || progstate == MID_PLAYBK_PROG_STATE_TEMP_SERVICE
- || progstate == MID_PLAYBK_PROG_STATE_NOT_RUNNING)
- {
- if ( MID_RecorderState()== MID_REC_STATUS_START )
- {
- if ((MID_TSPLParser_GetThreadState() != TRUE)
- && (APP_GUIOBJ_DVB_PvrPlayInfo_GetTunerState() == FALSE))
- {
- //printf("pause\n\n\n");
- MID_RecorderPauseResume();
- _DVBApp_Recorder_PauseResume();
- }
- }
- }
- if (!(g_bNoSteamData == TRUE
- || progstate == MID_PLAYBK_PROG_STATE_TEMP_SERVICE
- || progstate == MID_PLAYBK_PROG_STATE_NOT_RUNNING
- || progstate == MID_PLAYBK_PROG_STATE_LOCKED)
- && g_bIsPlaykey == FALSE)
- {
- if ( MID_RecorderState()== MID_REC_STATUS_PAUSE)
- {
- //printf("start \n\n\n");
- MID_RecorderPauseResume();
- _DVBApp_Recorder_PauseResume();
- }
- }
- #endif
- if (DVBApp_CheckServiceNotAvailable() == TRUE)
- {
- //set video and audio mute for temp service
- if (g_bTempSerFlag == FALSE)
- {
- DVBApp_CheckProgramType(FALSE);
- g_bTempSerFlag = TRUE;
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE | OSD2CTRLMDL_SUB);
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_RADIO_CHANNEL))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_RADIO_CHANNEL, UI_EVENT_NULL);
- }
- if (SYSTEM_APP_NO_FOCUSED_GUIOBJ == SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &dFocusedIndex))
- {
- #ifdef SUPPORT_DISABLE_H264
- if (progstate == MID_PLAYBK_PROG_STATE_VIDEO_MPEG4)
- {
- if (!DVBApp_IsPopupExist(DVB_APP_POP_MSG_VIDEO_NOT_SUPPORT))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_VIDEO_NOT_SUPPORT);
- }
- }
- else if (!DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_SERVICE_NOT_AVAILABLE))
- {
- if(APP_Get_DTVHiddenScanState() != TRUE)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_SERVICE_NOT_AVAILABLE);
- }
- }
- #else
- if (!DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_SERVICE_NOT_AVAILABLE))
- {
- if(APP_Get_DTVHiddenScanState() != TRUE)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_SERVICE_NOT_AVAILABLE);
- }
- }
- #endif
- }
- }
- else
- {
- if (g_bNoSteamData == TRUE
- || progstate == MID_PLAYBK_PROG_STATE_TEMP_SERVICE
- || progstate == MID_PLAYBK_PROG_STATE_NOT_RUNNING)
- {
- AL_DB_EDBType_t eDBType = APP_DVB_Playback_GetCurrentNetType();
- AL_RecHandle_t hCurrPrgHdl = AL_DB_INVALIDHDL;
- MID_PlaybackProgState_t eProgState = MID_PLAYBK_PROG_STATE_NORMAL;
- hCurrPrgHdl = APP_DVB_Playback_GetCurrentProgHandle(eDBType, (AL_RECTYPE_DVBTV |AL_RECTYPE_DVBRADIO));
- if ((hCurrPrgHdl == AL_DB_INVALIDHDL) && (bSignalState != AL_DVB_MONITOR_VALUE_INVAILED))
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE | OSD2CTRLMDL_SUB);
- }
- eProgState = APP_DVB_Playback_GetProgStateByHandle(eDBType, hCurrPrgHdl);
- if ((eProgState != MID_PLAYBK_PROG_STATE_LOCKED) && (bSignalState != AL_DVB_MONITOR_VALUE_INVAILED))
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE | OSD2CTRLMDL_SUB);
- }
- }
- g_bTempSerFlag = FALSE;
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_SERVICE_NOT_AVAILABLE))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_SERVICE_NOT_AVAILABLE, UI_EVENT_NULL);
- }
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- if (DVBApp_CheckHasVideo() == FALSE)
- #else
- if (eServiceType == AL_RECTYPE_DVBRADIO)
- #endif
- {
- if ((!APP_GUIOBJ_DVB_Playback_GetShowLogoState())
- && (progstate == MID_PLAYBK_PROG_STATE_NORMAL)
- #ifdef CONFIG_SUPPORT_PVR
- && !(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- #endif
- )
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_SHOWLOGO, 0);
- }
- }
- if (SYSTEM_APP_NO_FOCUSED_GUIOBJ != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &dFocusedIndex))
- {
- if (g_u8PopScrambleMsgTimer!=0)
- {
- g_u8PopScrambleMsgTimer = 0;
- }
- }
- if (SYSTEM_APP_NO_FOCUSED_GUIOBJ == SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &dFocusedIndex))
- {
- if (progstate == MID_PLAYBK_PROG_STATE_LOCKED)
- {
- if (!DVBApp_IsPopupExist(DVB_APP_POP_MSG_CHECKPWD)
- #ifdef CONFIG_SUPPORT_PVR
- && (APP_GUIOBJ_DVB_PvrRec_IsShowPopTime(g_stDetails.start_local_time_secs) == FALSE)
- #endif
- )
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CHECKPWD);
- }
- }
- else if (progstate == MID_PLAYBK_PROG_STATE_AUDIO_VIDEO_SCRAMBLED \
- ||progstate == MID_PLAYBK_PROG_STATE_ONLY_VIDEO_SCRAMBLED \
- || (progstate == MID_PLAYBK_PROG_STATE_ONLY_AUDIO_SCRAMBLED &&
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- (((stVideoPid.usDataPID)&0x1fff) == 0x1fff)
- #else
- eServiceType == AL_RECTYPE_DVBRADIO
- #endif
- ))
- {
- g_u8PopScrambleMsgTimer ++;
- if (!DVBApp_IsPopupExist(DVB_APP_POP_MSG_SCRAMBLE)&&g_u8PopScrambleMsgTimer>8)
- {
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_NO_SIGNAL))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_NO_SIGNAL, UI_EVENT_NULL);
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_RADIO_CHANNEL))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_RADIO_CHANNEL, UI_EVENT_NULL);
- }
- printf("\n#####Pop Scramble MSG Menu,F=%s,L=%d g_u8PopScrambleMsgTimer=%d######\n",__FUNCTION__,__LINE__,g_u8PopScrambleMsgTimer);
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_SCRAMBLE);
- g_u8PopScrambleMsgTimer = 0;
- }
- }
- else if ((eServiceType == AL_RECTYPE_DVBRADIO)
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- && (((stVideoPid.usDataPID)&0x1fff) == 0x1fff)
- #endif
- )
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- Boolean testA;
- Boolean testB;
- Boolean testC;
- Boolean testD;
- testA = !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5);
- testB = (APP_DVB_Mheg5_GetBootCarouselStatus() == MHEG5_BOOT_CAROUSEL_EXISTED);
- testC = (APP_DVB_Mheg5_GetMheg5DisplayStatus() == FALSE);
- testD = APP_Area_SupportDtg();
- //dvb_printf("a %d, b %d, c %d, d %d\n",testA, testB, testC, testD);
- if (testA || (testB && testC && testD))
- #endif
- {
- if(g_bScrambleFlag != PROG_STATUS_SCRAMBLE_UNKNOW && (!DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_RADIO_CHANNEL)))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_RADIO_CHANNEL);
- }
- else if (((MID_PlaybackGetActiveVidHandle() == INVALID_HANDLE) && (MID_PlaybackGetActiveAudHandle(al_false) == INVALID_HANDLE))
- #ifdef DEMUX_CONTROL_TEST
- && (MID_PlaybackGetState() == TRUE)
- #endif
- && (!DVBApp_IsPopupExist(DVB_APP_POP_MSG_TEMPSERVICE)))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TEMPSERVICE);
- }
- }
- }
- }
- #ifdef CONFIG_SUPPORT_PVR
- else if(((dFocusedIndex == DVB_GUIOBJ_PVR_PLAYINFO) || (dFocusedIndex == DVB_GUIOBJ_PVRREC_INFO))
- && (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- && (eServiceType == AL_RECTYPE_DVBRADIO)
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- && ((stVideoPid.usDataPID&0x1fff) == 0x1fff)
- #endif
- )
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- if ((!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- || ((APP_DVB_Mheg5_GetBootCarouselStatus() == MHEG5_BOOT_CAROUSEL_EXISTED)
- && (APP_DVB_Mheg5_GetMheg5DisplayStatus() == FALSE)
- && (APP_Area_SupportDtg())))
- #endif
- {
- if(g_bScrambleFlag != PROG_STATUS_SCRAMBLE_UNKNOW && (!DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_RADIO_CHANNEL)))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_RADIO_CHANNEL);
- }
- else if (((MID_PlaybackGetActiveVidHandle() == INVALID_HANDLE) && (MID_PlaybackGetActiveAudHandle(al_false) == INVALID_HANDLE))
- #ifdef DEMUX_CONTROL_TEST
- && (MID_PlaybackGetState() == TRUE)
- #endif
- && (!DVBApp_IsPopupExist(DVB_APP_POP_MSG_TEMPSERVICE)))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TEMPSERVICE);
- }
- }
- }
- else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO)
- && !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG)
- && (progstate == MID_PLAYBK_PROG_STATE_LOCKED)
- && APP_GUIOBJ_DVB_PvrRec_IsShowPopTime(g_stDetails.start_local_time_secs)==FALSE
- )
- {
- if (!DVBApp_IsPopupExist(DVB_APP_POP_MSG_CHECKPWD))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CHECKPWD);
- }
- }
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- Boolean testA = (APP_DVB_Mheg5_GetBootCarouselStatus() == MHEG5_BOOT_CAROUSEL_EXISTED);
- Boolean testB = (APP_DVB_Mheg5_GetMheg5DisplayStatus() == TRUE);
- Boolean testC = (APP_Area_SupportDtg());
- Boolean testD = (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_RADIO_CHANNEL));
- #ifdef CONFIG_SUPPORT_PVR
- Boolean testE = (APP_GUIOBJ_DVB_PvrPlayInfo_GetRecState() == PVR_STATE_STOP);
- Boolean testF = (MID_Recorder_GetRecMode() != MID_REC_MODE_MANUAL);
- #endif
- //dvb_printf("a %d, b %d, c %d, d %d, e %d, f %d\n",testA,testB,testC,testD,testE, testF);
- if (testA
- && testB
- && testC
- && testD
- #ifdef CONFIG_SUPPORT_PVR
- && testE
- && testF
- #endif
- )
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_RADIO_CHANNEL, UI_EVENT_NULL);
- }
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- if(progstate == MID_PLAYBK_PROG_STATE_TEMP_SERVICE)
- {
- if((APP_Area_SupportDtg())&&(APP_DVB_Mheg5_GetMheg5DisplayStatus() != TRUE))
- {
- if(!DVBApp_IsPopupExist(DVB_APP_POP_MSG_TEMPSERVICE))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TEMPSERVICE);
- }
- }
- }
- #endif
- }
- }
- }
- /*Unmute dispose*/
- if (bSetUnMuteFlag)
- {
- #if 1
- if (g_bMidHasUnmute)
- {
- _DVBApp_Process_Unmute();
- }
- else
- {
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- AL_DB_ERecordType_t RecordType = AL_RECTYPE_DVBTV;
- UINT32 total_prog = 0;
- RecordType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- AL_DB_GetRecordsTotalNum(eNetType, RecordType, &total_prog);
- if (total_prog > 0)
- {
- INT16 i16ProgState = MID_PLAYBK_PROG_STATE_NORMAL;
- i16ProgState = APP_DVB_Playback_GetProgStateByHandle(eNetType, AL_DB_INVALIDHDL);
- if ((i16ProgState != MID_PLAYBK_PROG_STATE_NORMAL) &&
- (i16ProgState != MID_PLAYBK_PROG_STATE_VIDEO_AVC))
- {
- DVBApp_CheckProgramType(FALSE);
- bSetUnMuteFlag = FALSE;
- }
- }
- }
- #else //zhongbaoxing moved to _DVBApp_Process_Unmute for mantis 143820 @20110801
- g_u8SetUnMuteTimer ++;
- if (g_u8SetUnMuteTimer == unMute_Check_timer)
- {
- if (g_SetPQFlag == FALSE)
- {
- g_SetPQFlag = TRUE;
- /*set PQ param*/
- eStorageSourType = APP_Data_UserSetting_SourceTypeMappingToStorage(eSourType);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE, 0,
- sizeof(APP_SETTING_Picture_t), &(g_stPictureData));
- APP_Video_SetPictureMode(
- g_stPictureData.stPictureModeSourceTab[eStorageSourType].PictureModeIndex);
- APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_COLORTEMP, g_stPictureData.stPictureModeSourceTab[eStorageSourType].ColorTempIndex);
- APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_NR, g_stPictureData.NR);
- }
- DVBApp_CheckProgramType(TRUE);
- g_u8SetUnMuteTimer = 0;
- bSetUnMuteFlag = FALSE;
- if (APP_Area_SupportDtg())
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB | OSD2CTRLMDL_MH5);
- }
- else
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- }
- }
- #endif
- }
- #ifdef CONFIG_SUPPORT_MHEG5
- INT32 fStatus = 0;
- Boolean fVideoState = FALSE;
- MHEG5APP_GetMh5Status(&fStatus);
- MHEG5APP_GetMh5VideoStatus(&fVideoState);
- if ((fStatus & MHEG5APP_STATUS_MID_ON) == MHEG5APP_STATUS_MID_ON)
- {
- if (fVideoState == FALSE)
- {
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- #ifdef Subtitle_Freeze
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLE))
- {
- AL_Subtitle_SetFreeze(FALSE);
- }
- #endif
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- }
- }
- }
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTHOTEL, 0,
- sizeof(APP_SETTING_FactoryHotel_t), &(g_stFactoryHotelData));
- #if defined(SUPPORT_HOTEL_MODE_PVR_FUNCTION_CONTROL)
- if((!g_stFactoryHotelData.HotelModeOnOff)||(g_stFactoryHotelData.PVRFunction))
- #elif defined(SUPPORT_PVR_ONOFF)
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_SETUP, 0,
- sizeof(APP_SETTING_Setup_t), &(g_stSetupData));
- if(g_stSetupData.PVROnOff)
- #endif
- {
- _DVBApp_PVR_UpdateState();
- }
- #endif
- #ifdef CONFIG_SUPPORT_SSU_UPGRADE
- unsigned int SsuEchWakeTimer;
- static al_uint32 timer;
- //dvb_printf("autoupgrade_sate %d\n",autoupgrade_sate);
- if (autoupgrade_sate== AU_GetTime)
- {
- al_uint32 CurTimeInSec = 0;
- AL_Time_GetCurTimeInSecs(&CurTimeInSec);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO,
- ITEM_OFFSET(APP_SETTING_UserInfo_t, OTAWakeupTime),
- sizeof(g_stUserInfoData.OTAWakeupTime),&SsuEchWakeTimer);
- SsuEchWakeTimer -= CurTimeInSec;
- timer = SsuEchWakeTimer*10;
- if (timer > 0)
- {
- autoupgrade_sate = AU_TimeCom;
- }
- else
- {
- autoupgrade_sate = AU_MAX;
- }
- }
- if (autoupgrade_sate == AU_TimeCom)
- {
- timer--;
- //dvb_printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%d\n",timer);
- if (timer <= 0)
- {
- autoupgrade_sate = AU_GoToUpgrade;
- }
- }
- if (autoupgrade_sate == AU_GoToUpgrade)
- {
- //dvb_printf(" go to auto grade\n");
- autoupgrade_sate = AU_MAX;
- UINT16 u16ONID_SSU = 0xffff;
- UINT16 u16TSID_SSU = 0xffff;
- MID_OTA_GetOtaMonThreadData(OTA_DATA_TS_ONID,(UINT8 *)&u16ONID_SSU);
- MID_OTA_GetOtaMonThreadData(OTA_DATA_TS_TSID,(UINT8 *)&u16TSID_SSU);
- if ((u16ONID_SSU == 0xffff && u16TSID_SSU == 0xffff)
- ||(u16ONID_SSU == 0x0 && u16TSID_SSU == 0x0))
- {
- //dvb_printf("[don't find linkage descriptor, so try again]%s %d\n",__FUNCTION__,__LINE__);
- autoupgrade_sate = AU_GoToUpgrade;
- }
- else
- {
- APP_GUIOBJ_DVB_OTAPrompt_StartOTAMon();
- }
- }
- #endif
- #if defined (CONFIG_SUPPORT_TTX ) && defined(CONFIG_SUPPORT_TTX_DISP_FOR_AUS)
- {
- UINT8 ttxtimer = APP_GetTTXTimer();
- if(ttxtimer > 0)
- {
- ttxtimer--;
- APP_SetTTXTimer(ttxtimer);
- if(ttxtimer == 0)//time is 8s
- {
- AL_TTX_Reset();
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TTX);
- }
- }
- }
- }
- #endif
- return 0;
- }
- #if defined(CONFIG_CIPLUS_SUPPORT) && defined(CONFIG_SUPPORT_MHEG5)
- void DVBApp_ApplyAppMMIDisplay(void)
- {
- APP_SETTING_UserInfo_t stUserInfoData;
- E_APPMMI_SMG eSMG;
- E_APPMMI_SSM eSSM;
- /* Get subtitle setting */
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(stUserInfoData));
- /* Get SSM and SMG */
- eSSM = MID_DTVCI_GetAppMMISSM();
- eSMG = MID_DTVMHEG_GetAppMMISMG();
- if( MID_DTVCI_GetAppMMIStatus() && SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5) )
- {
- dvb_printf("%s AppMMI is 'on' Subtitle is '%s' SSM_%s SMG_%s\n",__FUNCTION__,
- stUserInfoData.Subtitle ? "on":"off",
- eSSM == APPMMI_SSM_NONE ? "NONE/2":
- eSSM == APPMMI_SSM_0 ? "0":"1",
- eSMG == APPMMI_SMG_NONE ? "NONE" :
- eSMG == APPMMI_SMG_TRUE ? "TRUE" : "FALSE"
- );
- if( eSSM == APPMMI_SSM_0 )
- {
- dvb_printf("subtitle osd off\n");
- mid_sub_dtv_show(0);
- dvb_printf("mheg osd on\n");
- MHEG5OSD_DisplayEnable(TRUE);
- }
- else if( eSSM == APPMMI_SSM_1 )
- {
- if( stUserInfoData.Subtitle )
- {
- dvb_printf("mheg off\n");
- DVBApp_DataApplicationSwitch(
- OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_MH5);
- dvb_printf("subtitle on\n");
- DVBApp_DataApplicationSwitch(
- OSD2CTRLMDL_ENABLE|OSD2CTRLMDL_SUB);
- }
- }
- else // eSSM is APPMMI_SSM_2 or APPMMI_SSM_NONE
- {
- if( eSMG == APPMMI_SMG_TRUE )
- {
- if( stUserInfoData.Subtitle )
- {
- dvb_printf("mheg osd off\n");
- MHEG5OSD_DisplayEnable(FALSE);
- dvb_printf("subtitle on\n");
- DVBApp_DataApplicationSwitch(
- OSD2CTRLMDL_ENABLE|OSD2CTRLMDL_SUB);
- dvb_printf("subtitle osd on\n");
- mid_sub_dtv_show(1);
- }
- else
- {
- dvb_printf("mheg osd on\n");
- MHEG5OSD_DisplayEnable(TRUE);
- }
- }
- else // eSMG == APPMMI_SMG_FALSE or APPMMI_SMG_NONE
- {
- if( stUserInfoData.Subtitle )
- {
- dvb_printf("mheg osd on\n");
- MHEG5OSD_DisplayEnable(TRUE);
- dvb_printf("subtitle osd off\n");
- mid_sub_dtv_show(0);
- }
- else
- {
- dvb_printf("mheg osd on\n");
- MHEG5OSD_DisplayEnable(TRUE);
- }
- }
- }
- }
- else
- {
- dvb_printf("%s AppMMI is 'off'\n",__FUNCTION__);
- }
- }
- #endif
- #ifdef SUPPORT_ATS
- static UINT8 uGetDemodinfoOn = 0;
- GL_Task_t ATSTask;
- static UINT8 ATSTaskExistFlag = 0;
- void _APP_ATS_Get_Demodinfo_ThreadControl(void *pData)
- {
- ATSTaskExistFlag = 1;
- bool bNeedPrint = TRUE;
- while(uGetDemodinfoOn==1)
- {
- GL_TaskSleep(500);
- UINT32 u16SNR=0;
- FrontendCmd_t front;
- front.cmd = FRONTEND_CMD_GET_SIGNAL_SNR;
- front.param = &u16SNR;
- ioctl(kmfdev, KMF_IOC_FRONTENDCTRL , &front);
- u16SNR = u16SNR/10;
- UINT32 u16BER=0;
- front.cmd = FRONTEND_CMD_GET_SIGNAL_BER;
- front.param = &u16BER;
- ioctl(kmfdev, KMF_IOC_FRONTENDCTRL , &front);
- if(u16BER != 0xFFFF)
- u16BER = u16BER/10;
- UINT32 u16PER=0;
- front.cmd = FRONTEND_CMD_GET_SIGNAL_PER;
- front.param = &u16PER;
- ioctl(kmfdev, KMF_IOC_FRONTENDCTRL , &front);
- UINT32 u16UBC=0;
- front.cmd = FRONTEND_CMD_GET_SIGNAL_UBC;
- front.param = &u16UBC;
- ioctl(kmfdev, KMF_IOC_FRONTENDCTRL , &front);
- UINT32 u16SSI=0;
- front.cmd = FRONTEND_CMD_GET_SIGNAL_STRENGTH;
- front.param = &u16SSI;
- ioctl(kmfdev, KMF_IOC_FRONTENDCTRL , &front);
- UINT32 u16SQI=0;
- front.cmd = FRONTEND_CMD_GET_SIGNAL_QUALITY;
- front.param = &u16SQI;
- ioctl(kmfdev, KMF_IOC_FRONTENDCTRL , &front);
- UINT32 IsDemodLock=0;
- front.cmd = FRONTEND_CMD_GET_DEMOD_LOCK_STATUS;
- front.param = (void *)&IsDemodLock;
- ioctl(kmfdev, KMF_IOC_FRONTENDCTRL , &front);
- //ATS:lock xx SNR xxx BER xxxxx PER xxxxx UBC xxxxx SSI xxx SQI xxx
- if(bNeedPrint == TRUE)
- {
- char cLen[80];
- sprintf(cLen, "ATS:lock %2d SNR %3d BER %5d PER %5d UBC %5d SSI %3d SQI %3d\n", IsDemodLock,u16SNR,u16BER,u16PER,u16UBC,u16SSI,u16SQI);
- con_echo_sfu(80, (UINT8 *)cLen);
- }
- if(IsDemodLock == 0)
- bNeedPrint = FALSE;
- else
- bNeedPrint = TRUE;
- }
- if(uGetDemodinfoOn == 0)
- {
- ATSTaskExistFlag = 0;
- GL_TaskSelfDelete();
- }
- }
- UINT32 APP_ATS_Get_Demodinfo_On()
- {
- if(ATSTaskExistFlag == 0)
- {
- GL_Status_t ret = GL_FAILURE;
- ret = GL_TaskCreate("ATSGetDemodinfo", _APP_ATS_Get_Demodinfo_ThreadControl, NULL, 4, 32, FALSE, &ATSTask);
- if (ret != GL_SUCCESS)
- {
- return AL_FAILURE;
- }
- ret = GL_TaskActivate(ATSTask);
- if (ret != GL_SUCCESS)
- {
- return AL_FAILURE;
- }
- }
- return AL_SUCCESS;
- }
- #endif
- #ifdef CONFIG_CIPLUS_SUPPORT
- void DVBApp_ShowInstallProfilePopMenu(void)
- {
- PopmsgParam_t stPopup;
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- memset(&stPopup,0x0,sizeof(PopmsgParam_t));
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_NO_POST_ACTION;
- stPopup.extend.stPrompt.ePromptType = PLAYBACK_POPUP_PROMPT_CI_INSTALL_PROFILE;
- DVBApp_SchedulePopup(stPopup);
- return;
- }
- void DVBApp_ShowInstallProfilePop(BOOLEAN show)
- {
- if (show)
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, APP_DVB_GLOBAL_EVENT_POPMSG_START_INSTALL_NIT | PASS_TO_SYSAPP, 0);
- }
- else
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, APP_DVB_GLOBAL_EVENT_POPMSG_END_INSTALL_NIT | PASS_TO_SYSAPP, 0);
- }
- }
- #endif
- static INT32 _DVBApp_OnGlobalEvent(void *pPrivateData, UINT32 dMessage, UINT32 dParam)
- {
- al_bool bHasValidServ = al_false;
- al_uint8 bSignalState = al_false;
- PopmsgParam_t stPopup;
- UINT32 dGuiObj = DVB_GUIOBJ_EPG;
- UINT8 u8HotelMode;
- UINT8 u8MainUIEn;
- AL_DB_ERecordType_t NextServiceType = AL_RECTYPE_DVBTV;
- UINT32 u32TotalNum = 0;
- AL_RecHandle_t hProg;
- AL_RecHandle_t hCurProg;
- #ifdef CONFIG_SUPPORT_MHEG5
- int sdRet;
- #endif
- UINT32 dAppIndex = 0;
- MID_DISP_MUTE_ST eMuteSt = MID_DISP_MUTE;
- #ifdef SUPPORT_SOURCE_DVBTCS
- UINT32 RFtype = APP_RF_TYPE_DVB_MAX;
- UINT32 StringId = 0;
- #endif
- #ifdef CONFIG_SUPPORT_3D_EN
- APP_Video_Image3DAction_t ePicture3DState = APP_VIDEO_IMAGE_3D_DISABLED;
- #endif
- APP_Source_Type_t eSourType = APP_SOURCE_MAX;
- APP_Source_Type_t eMidSourType = APP_SOURCE_MAX;
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- AL_DB_ERecordType_t eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- AL_RecHandle_t hCurrProgHandle = AL_DB_INVALIDHDL;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
- sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
- if (g_stFactoryUserData.n_FactSet_BurningMode == al_true)
- {
-
- #ifdef CONFIG_SUPPORT_DETECT_USBPLL
- if(dMessage == APP_DVB_GLOBAL_EVENT_DVB_ONRUN)
- {
- UINT32 Index = TOTAL_SYS_APP_SIZE;
- while (MAINAPP_GetActiveSystemAppIndex(&Index) != MAIN_APP_SUCCESS)
- {
- GL_TaskSleep(1);
- }
- if (SP_SUCCESS != APP_GUIOBJ_Source_SetMidSource(NULL) || (APP_IsScan_Running()))
- {
- APP_GUIOBJ_Source_SetSourceTransState(FALSE);
- g_u8SourceTrastTimer = 0;
- return SP_ERR_FAILURE;
- }
- APP_GUIOBJ_Source_SetSourceTransState(FALSE);
- g_u8SourceTrastTimer = 0;
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_MUTE))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_MUTE, 0);
- }
-
- UINT8 u8USBPLL_Fail = 0;
- Cmd_NVMRead(ENVMPurposeIDUSBPLLFailFlag, FALSE, sizeof(UINT8), &u8USBPLL_Fail);
- if(u8USBPLL_Fail == TRUE)
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, APP_GUIOBJ_MUTE,
- APP_INTRA_EVENT_SHOW_CLK_ERROR, 0);
- }
- }
- if (dMessage == APP_GLOBAL_EVENT_USBPLL_RESULT)
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, APP_GUIOBJ_MUTE, APP_INTRA_EVENT_SHOW_MESSAGE, dParam);
- }
- #endif
- return SP_SUCCESS;
- }
- #ifdef CONFIG_SUPPORT_MHEG5
- sdRet = 0;
- #endif
- dMessage = (dMessage&~PASS_TO_SYSAPP);
- dvb_printf("%d. dMessage = 0x%x(%d)event received.time: %d\n", __LINE__, dMessage,(dMessage&0xfff),GL_GetRtc32());
- #ifdef CONFIG_SUPPORT_MHEG5
- int iFocusedIndex;
- #endif
- #ifdef CONFIG_SUPPORT_TTX
- al_uint8 *pref_iso639 = al_null;
- #endif
- eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- hCurProg = hProg = APP_DVB_Playback_GetCurrentProgHandle(eNetType, eServiceType);
- APP_GUIOBJ_Source_GetCurrSource(&eSourType);
- APP_GUIOBJ_Source_GetMidSource(&eMidSourType, NULL);
- UINT8 bAutoInstall = FALSE;
- #ifdef IR_PLAYPAUE_COMBINE
- if (dMessage == UI_EVENT_PLAY)
- {
- dMessage = UI_EVENT_PLAY_PAUSE;
- }
- if (dMessage == UI_EVENT_PLAY_PAUSE)
- {
- dMessage = UI_EVENT_PAUSE;
- }
- #endif
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTHOTEL, 0,
- sizeof(APP_SETTING_FactoryHotel_t), &(g_stFactoryHotelData));
- u8HotelMode = g_stFactoryHotelData.HotelModeOnOff;
- u8MainUIEn = g_stFactoryHotelData.MainUIOperation;
- if (u8HotelMode == 1)
- {
- if (u8MainUIEn == 1)
- {
- if (dMessage == UI_EVENT_MENU)
- {
- return 0;
- }
- }
- }
- if ((g_stFactoryHotelData.HotelModeOnOff == 1) && (g_stFactoryHotelData.AspectRatioLock == 1))
- {
- if (dMessage == UI_EVENT_ASPECT)
- {
- dMessage = UI_EVENT_NULL;
- }
- }
- #ifdef CONFIG_SUPPORT_PVR
- UINT8 u8AutoTimeShift;
- UINT8 u8MidRecState;
- UINT8 u8MIDRecMode;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE,
- ITEM_OFFSET(APP_SETTING_Feature_t, AutoTimeShift),
- sizeof(g_stFeatureData.AutoTimeShift), &(g_stFeatureData.AutoTimeShift));
- u8AutoTimeShift = g_stFeatureData.AutoTimeShift;
- u8MidRecState = MID_RecorderState();
- u8MIDRecMode = MID_Recorder_GetRecMode();
- #ifdef SUPPORT_PLAY_PAUSE_KEY_START_REC
- if ((MID_REC_STATUS_STOP == u8MidRecState)
- && (dMessage == UI_EVENT_PLAY_PAUSE)
- && !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_RECORDLIST)
- && !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- dMessage = UI_EVENT_REC;
- }
- #endif
- #endif
- #if defined(SUPPORT_PVR_ONOFF) || defined(SUPPORT_EPG_ONOFF)
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_SETUP, 0,
- sizeof(APP_SETTING_Setup_t), &(g_stSetupData));
- #endif
- #ifdef SUPPORT_CEC_TV
- if (CECTV_GetCECEnable()==CECTV_ENABLE)
- {
- //active source
- if(dMessage==UI_EVENT_TVRADIO)
- {
- dvb_printf("========================UI_EVENT_TVRADIO========================");
- CECTV_SendCmd(CECTV_SINGLE_ACT_CMD_CHGSRC_OUT_HDMI, SRC_OTHERS);
- }
- if(dMessage==UI_EVENT_MUTE)
- {
- dvb_printf("\n\n=============CEC Send Audio Mute===============\n\n");
- //CECTV_SendCmd(CECTV_SINGLE_ACT_CMD_KEYPRESS, CECTV_KEY_MUTE<<8|0x05);//Mute Function
- if (CECTV_GetHDMISystemAudioMode()&& APP_Check_CEC_DEVICE_Status())
- {
- if(g_u32Mutekeydelaytime >= MUTE_KEY_INTERVAL)
- {
- cec_RemoteControlPassThrough(CECTV_KEY_MUTE);
- cec_RemoteControlPassThrough(CECTV_KEY_MUTE_RELEASE);
- g_u32Mutekeydelaytime = 0;
- }
- }
- }
- if(dMessage==UI_EVENT_VOL_UP)
- {
- dvb_printf("========================UI_EVENT_VOL_UP========================");
- //CECTV_SendCmd(CECTV_SINGLE_ACT_CMD_KEYPRESS, CECTV_KEY_VOLUME_UP<<8|0x05);//UCP VOL_DN Function
- if (CECTV_GetHDMISystemAudioMode() && APP_Check_CEC_DEVICE_Status())
- {
- if (dParam & IR_EVENT_REPEAT_TYPE)
- {
- cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_UP);
- }
- else if (dParam & IR_EVENT_REPEAT_END)
- {
- cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_UP_RELEASE);
- }
- else
- {
- cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_UP);
- cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_UP_RELEASE);
- }
- }
- }
- if(dMessage==UI_EVENT_VOL_DN)
- {
- dvb_printf("========================UI_EVENT_VOL_DN========================");
- //CECTV_SendCmd(CECTV_SINGLE_ACT_CMD_KEYPRESS, CECTV_KEY_VOLUME_DOWN<<8|0x05);//UCP VOL_DN Function
- if (CECTV_GetHDMISystemAudioMode() && APP_Check_CEC_DEVICE_Status())
- {
- if (dParam & IR_EVENT_REPEAT_TYPE)
- {
- cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_DOWN);
- }
- else if (dParam & IR_EVENT_REPEAT_END)
- {
- cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_DOWN_RELEASE);
- }
- else
- {
- cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_DOWN);
- cec_RemoteControlPassThrough(CECTV_KEY_VOLUME_DOWN_RELEASE);
- }
- }
- }
- }
- #endif
- #ifdef TEAC_BLUE_KEY_FUNCTION
- if (_DVB_GetPanelControlType() == APP_PANEL_POWER_DOWN && (dMessage >= UI_EVENT_0 && dMessage < UI_EVENT_NULL) && (dMessage != UI_EVENT_POWER))
- {
- //APP_Panel_SetPowerSequence(APP_PANEL_POWER_UP);
- //APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_BACKLIGHT,
- // g_stSetupData.HomeMode.Backlight[g_stSetupData.HomeMode.Type]);
- _DVB_SetPanelControlType(APP_PANEL_POWER_UP);
- return GUI_OBJECT_NO_POST_ACTION;
- }
- #endif
- switch (dMessage)
- {
- case APP_DVB_GLOBAL_EVENT_SCART_INPUTSTATUS_CHANGE:
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- break;
- }
- #endif
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA))
- {
- return GUI_OBJECT_NO_POST_ACTION;
- }
- #endif
- APP_SCARTIN_Pin8Function(dParam);
- }
- break;
- case APP_DVB_GLOBAL_EVENT_SCAN_DONE:
- printf("\e[33m\n[Ranshiou] %s %d \e[0m\n",__FUNCTION__, __LINE__);
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SCAN_PROCESS))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, DVB_GUIOBJ_SCAN_PROCESS,
- APP_DVB_GLOBAL_EVENT_SCAN_DONE, 0);
- }
- else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_INITINSTALL))
- {
- SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_DVB, APP_DVB_GLOBAL_EVENT_SCAN_DONE, 0);
- }
- else
- {
- APP_GUIOBJ_ScanProcess_ScanDone(NULL, 1);
- }
- if( DVBApp_IsPopupExist(PLAYBACK_POPUP_PROMPT_NETWORK_UPDATING) )
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_PROMPT_NETWORK_UPDATING, UI_EVENT_NULL);
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NETWORK_UPDATE_DONE);
- }
- break;
- case APP_DVB_GLOBAL_EVENT_DVB_ONRUN:
- dvb_printf(" APP_DVB_GLOBAL_EVENT_DVB_ONRUN event received\n");
- g_u32NoSignalTimer = 0;
- g_u32NoSignalSleepTimer = 0;
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- if(!_APP_GUIOBJ_EWS_AreaCodeSetting_GetLeaveState())
- {
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_EWS_AREACODE, 0);
- }
- else
- #endif
- {
- /*#ifdef CONFIG_SUPPORT_PVR
- if (MID_REC_STATUS_STOP != u8MidRecState)
- {
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- DVBApp_StopRecord();
- }
- else
- {
- DVBApp_StopTimeshift(TRUE);
- }
- }
- #endif*/
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL,
- ITEM_OFFSET(APP_SETTING_Channel_t, Country),
- sizeof(g_stChannelData.Country), &(g_stChannelData.Country));
- DVBApp_ResetDvbSpecRule(g_stChannelData.Country);
- #ifdef CONFIG_MEDIA_ENABLE
- /*#ifdef CONFIG_SUPPORT_PVR
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- if(APP_WAKEUP_GetBootFlag()==FALSE)
- #endif
- {
- if (MM_Music_GetPanelControlType() == APP_PANEL_POWER_DOWN)
- //APP_Panel_SetPowerSequence(APP_PANEL_POWER_UP);
- }
- #endif*/
- #endif
- #if 0//def CONFIG_SUPPORT_MIRACAST
- //if( IsDonglePlugged() )
- {
- //DrawInfoWindow("Device plugged", DRAW_IT);
- MiracastInit();
- }
- //else{
- //DrawInfoWindow("NO Device!!", DRAW_IT);
- //}
- #endif
- /*Change Source*/
- UINT32 Indexmm = TOTAL_SYS_APP_SIZE;
- while(MAINAPP_GetActiveSystemAppIndex(&Indexmm) !=MAIN_APP_SUCCESS)
- {
- GL_TaskSleep(1);
- }
- if ((SP_SUCCESS != APP_GUIOBJ_Source_SetMidSource(NULL)) || (APP_IsScan_Running()))
- {
- #ifdef CONFIG_SUPPORT_PVR
- DVBApp_SetPVRSwitchSRC(FALSE);
- #endif
- return SP_ERR_FAILURE;
- }
- #ifdef CONFIG_SUPPORT_PVR
- int iPtListIdx = -1;
- extern int _RecorderList_Callback(MID_PVRRecListParseMsg_t dPVRRecListCallbackType);
- MID_TSPLParser_RegisterPvrRecListCallback((PVRRecListCallbackFunc)_RecorderList_Callback);
- #ifdef SUPPORT_PVR_USE_SAVED_INDEX_FAT_PARTITION
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if(TRUE != APP_GUIOBJ_DVB_PartitionList_CheckValidByIndex(g_stFeatureData.DefaultPartition))
- {
- /* aps new don't support NTFS fs */
- if (APP_GUIOBJ_DVB_PartitionList_GetFirstFat(&iPtListIdx) == TRUE)
- {
- MID_RecorderSetDefaultPartition(iPtListIdx, MID_REC_PARTITION_SET_FORCE); //set partition 0 for default partition
- APP_GUIOBJ_DVB_PartitionList_SaveIndex(iPtListIdx);
- }
- }
- #else
- if (MID_RecorderGetDefaultPartition(&iPtListIdx) != MID_REC_FS_OK)
- {
- /* aps new don't support NTFS fs */
- if (APP_GUIOBJ_DVB_PartitionList_GetFirstFat(&iPtListIdx) == TRUE)
- {
- MID_RecorderSetDefaultPartition(iPtListIdx, MID_REC_PARTITION_SET_FORCE); //set partition 0 for default partition
- }
- }
- #endif
- else //for mantis 0180617, refresh mid PVR file list when change from other source
- {
- #ifdef SUPPORT_PVR_USE_SAVED_INDEX_FAT_PARTITION
- if(MID_REC_FS_OK == MID_RecorderGetDefaultPartition(&iPtListIdx)
- &&iPtListIdx == g_stFeatureData.DefaultPartition)
- {
- ;//do nothing
- }
- else
- {
- //nedd set default DefaultPartition
- iPtListIdx = g_stFeatureData.DefaultPartition;
- MID_RecorderSetDefaultPartition(iPtListIdx, MID_REC_PARTITION_SET_FORCE); //set partition 0 for default partition
- APP_GUIOBJ_DVB_PartitionList_SaveIndex(iPtListIdx);
- }
- #endif
- static char szPtName[MID_DISK_NAME_MAX_LEN];
- MID_PartitionList_GetMountName(iPtListIdx, szPtName);
- extern Boolean MID_Recorder_DeleteTShistIfExist(char *szPtName);
- if(MID_Recorder_DeleteTShistIfExist(szPtName)==TRUE)
- {
- PVR_DEBF("Delete TSHIFT FILE [OK]\n");
- }
- extern Boolean MID_Recorder_DeleteIllegalPVR(char *szPtName);
- if(MID_Recorder_DeleteIllegalPVR(szPtName)==TRUE)
- {
- PVR_DEBF("Delete Illegal PVR [OK]\n");
- }
- MID_TSPLParser_Init(szPtName);
- }
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- #endif
- eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- if ((eServiceType != AL_RECTYPE_DVBTV) && (eServiceType != AL_RECTYPE_DVBRADIO) && (eServiceType != AL_RECTYPE_DVBDATA))
- {
- eServiceType = AL_RECTYPE_DVBTV;
- }
- /* Check Service Type */
- {
- UINT32 u32TotalChnCount = 0;
- AL_DB_ERecordType_t eTempServiceType = eServiceType;
- if(eServiceType != AL_RECTYPE_DVBTV)
- {
- AL_DB_GetRecordsTotalNum(eNetType, eServiceType, &u32TotalChnCount);
- if(!u32TotalChnCount)
- {
- eTempServiceType = AL_RECTYPE_DVBTV;
- AL_DB_GetRecordsTotalNum(eNetType, eTempServiceType, &u32TotalChnCount);
- if(!u32TotalChnCount)
- {
- if(eServiceType == AL_RECTYPE_DVBRADIO)
- {
- AL_DB_GetRecordsTotalNum(eNetType, AL_RECTYPE_DVBDATA, &u32TotalChnCount);
- if(u32TotalChnCount)
- {
- eTempServiceType = AL_RECTYPE_DVBDATA;
- }
- }
- else if(eServiceType == AL_RECTYPE_DVBDATA)
- {
- AL_DB_GetRecordsTotalNum(eNetType, AL_RECTYPE_DVBRADIO, &u32TotalChnCount);
- if(u32TotalChnCount)
- {
- eTempServiceType = AL_RECTYPE_DVBRADIO;
- }
- }
- }
- }
- }
- else
- {
- AL_DB_GetRecordsTotalNum(eNetType, eServiceType, &u32TotalChnCount);
- if(!u32TotalChnCount)
- {
- AL_DB_GetRecordsTotalNum(eNetType, AL_RECTYPE_DVBDATA, &u32TotalChnCount);
- if(u32TotalChnCount)
- {
- eTempServiceType = AL_RECTYPE_DVBDATA;
- }
- else
- {
- AL_DB_GetRecordsTotalNum(eNetType, AL_RECTYPE_DVBRADIO, &u32TotalChnCount);
- if(u32TotalChnCount)
- {
- eTempServiceType = AL_RECTYPE_DVBRADIO;
- }
- }
- }
- }
- eServiceType = eTempServiceType;
- APP_DVB_Playback_SetCurrServiceType(eNetType, eServiceType);
- }
- /*create playback and mute guiobject*/
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK, 0);
- }
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_MUTE))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_MUTE, 0);
- }
- if (TRUE == APP_GUIOBJ_DVB_FavNet_GetSelect())
- {
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVNET))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_FAVNET, 0);
- break;
- }
- }
- /* change source to net, it will destroy `mute' icon
- * so, judge `mute' state, show icon
- */
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- if (g_stUserInfoData.Mute == TRUE)
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, APP_GUIOBJ_MUTE,
- APP_INTRA_EVENT_SHOW_MUTE, SHOW_MUTE_ON_TV);
- }
- bAutoInstall = g_stUserInfoData.AutoInstalled;
- if (bAutoInstall && (FALSE ==gIsFactoryResetting))
- {
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_INITINSTALL))
- {
- //Close all menu before show Auto Installation menu
- _DVBApp_CloseAllMenu();
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- if(APP_Factory_GetAutoTestOnOff() == FALSE)
- #endif
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_INITINSTALL, 0);
- }
- }
- }
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- if(APP_Factory_GetAutoTestOnOff() == TRUE)
- {
- extern void APP_SetPoweronEnterVersion(UINT8 value);
- extern UINT8 APP_GetPoweronEnterVersion(void);
- if(APP_GetPoweronEnterVersion() == 1)
- {
- APP_SetPoweronEnterVersion(0);
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_FM_FACTORYSETTING))
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_FM_FACTORYSETTING, 1);
- Factory_Ver_Debug();
- }
- }
- }
- #endif
- hProg = APP_DVB_Playback_GetCurrentProgHandle(eNetType, eServiceType);
- #ifdef CONFIG_SUPPORT_PVR
- if (DVBApp_GetPVRSwitchSRC() == TRUE)
- {
- eServiceType = g_eRecType;
- APP_DVB_Playback_SetNextServiceType(eServiceType);
- hProg = DVBApp_GetSCHProgHandle();
- }
- #endif
- if (APP_MenuMgr_Exist_Scan_Menu())
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, APP_GLOBAL_EVENT_SET_SOURCE_COMPLETE, 0);
- }
- else
- {
- #if 0 /*modify by qinhe for mantis 0011833*/
- AL_DB_GetRecordsTotalNum(eNetType, eServiceType, &TotalNum);
- #else
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- #endif
- if (bHasValidServ)
- {
- if (hProg == AL_DB_INVALIDHDL)
- {
- AL_RecHandle_t hTpHdl = AL_DB_INVALIDHDL;
- AL_DB_GetRecord(AL_DB_REQ_GETFIRST, eNetType, AL_RECTYPE_DVBMULTIPLEX, &hTpHdl);
- if (hTpHdl != AL_DB_INVALIDHDL)
- {
- hProg = APP_DVB_PLAYBACK_GetFirstProgHdlofLowestService();
- AL_DB_GetRecordType(hProg, &eNetType, &eServiceType);
- APP_DVB_Playback_SetCurrentProgHandle(eNetType, eServiceType, hProg);
- APP_DVB_Playback_SetNextServiceType(eServiceType);
- }
- }
- if (hProg == AL_DB_INVALIDHDL)
- {
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SCAN_PROCESS))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_SHOWLOGO, 0);
- }
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_INITINSTALL))
- {
- if (!DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_DATABASE_EMPTY))
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_DATABASE_EMPTY);
- }
- }
- }
- else
- {
- DBServAttrib_t stAttribute;
- memset(&stAttribute, 0, sizeof(stAttribute));
- AL_DB_QueryDetailFieldByName(hProg, (al_uint8 *)"stProgAttrib", (al_void *)&stAttribute);
- if(stAttribute.unStable == al_true)
- {
- DVBApp_RemoveUnstableService();
- }
- else
- {
- _DVBApp_Zapping(eServiceType, hProg, TRUE, 0, TRUE);
- }
- /*Add for dispose TV/RADIO key in channel manager /channel list /epg*/
- if (!dParam)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNMGR)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVMGR)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPG))
- {
- break;
- }
- }
- /*End*/
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (bSignalState != AL_DVB_MONITOR_VALUE_TRUE)
- {
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- if (DVBApp_CheckHasVideo() == FALSE)
- #else
- if (eServiceType == AL_RECTYPE_DVBRADIO)
- #endif
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK,
- APP_DVB_INTRA_EVENT_SHOWLOGO, 0);
- }
- if(!APP_Factory_CheckNeedReopenFm(SYS_APP_DVB))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NO_SIGNAL);
- }
- }
- else
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_NO_SIGNAL, UI_EVENT_NULL);
- #if 0 //zhongbaoxing removed for mantis 171528 @20120307
- if (eServiceType == AL_RECTYPE_DVBRADIO)
- {
- if (!APP_GUIOBJ_DVB_Playback_GetShowLogoState())
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_SHOWLOGO, 0);
- }
- #ifdef CONFIG_SUPPORT_MHEG5
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- #endif
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_RADIO_CHANNEL);
- }
- }
- else
- #else
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- if (DVBApp_CheckHasVideo() == TRUE)
- #else
- if (eServiceType != AL_RECTYPE_DVBRADIO)
- #endif
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_RADIO_CHANNEL, UI_EVENT_NULL);
- }
- #endif
- }
- }
- }
- else
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_SHOWLOGO, 0);
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_INITINSTALL))
- {
- if (!DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_DATABASE_EMPTY))
- {
- DVBApp_ResetPopup_Channel();
- if(!APP_Factory_CheckNeedReopenFm(SYS_APP_DVB))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_DATABASE_EMPTY);
- DVBApp_CheckProgramType(FALSE);
- }
- }
- }
- }
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- DRV_Frontend_Connect_Type_t tPreFrontendType = FRONTEND_CONNECT_TYPE_MAX;
- if ((!bHasValidServ || (hProg == AL_DB_INVALIDHDL))&&(eNetType == AL_DBTYPE_DVB_S))
- {
- MID_SatCtrl_FrontendCtrl(FRONTEND_CMD_GET_CONNECT_TYPE, (void *)&tPreFrontendType);
- if (tPreFrontendType != FRONTEND_CONNECT_TYPE_DVB_S && tPreFrontendType != FRONTEND_CONNECT_TYPE_DVB_S2)
- {
- MID_SatCtrl_FrontendCtrl(FRONTEND_CMD_SET_S, NULL);
- }
- }
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBT2_SUPPORT
- DRV_Frontend_Connect_Type_t tPreFrontendType_t = FRONTEND_CONNECT_TYPE_MAX;
- FrontendCmd_t front;
- if ((!bHasValidServ || (hProg == AL_DB_INVALIDHDL))&&(eNetType == AL_DBTYPE_DVB_T))
- {
- front.cmd = FRONTEND_CMD_GET_CONNECT_TYPE;
- front.param = (void *)&tPreFrontendType_t;
- ioctl(kmfdev, KMF_IOC_FRONTENDCTRL , &front);
- if (tPreFrontendType_t != FRONTEND_CONNECT_TYPE_DVB_T && tPreFrontendType_t != FRONTEND_CONNECT_TYPE_DVB_T2)
- {
- front.cmd = FRONTEND_CMD_SET_T;
- front.param = NULL;
- ioctl(kmfdev, KMF_IOC_FRONTENDCTRL , &front);
- }
- }
- #endif
- #ifdef SUPPORT_DTV_SHOW_BLUESCREEN
- al_uint8 bMonitorState = al_false;
- al_uint8 bSignalState = al_false;
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_MONITOR, &bMonitorState);
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if ((g_stSetupData.BlueScreen == APP_SWITCH_ON)
- &&((!bHasValidServ)
- ||!((bMonitorState) && (bSignalState == AL_DVB_MONITOR_VALUE_TRUE))))
- {
- #ifdef CONFIG_DVB_SYSTEM
- APP_SCARTOUT_SetVideoMute(APP_SOURCE_DTV, DTV_TRUE, TRUE);
- #endif
- MID_DISP_DTVSetVideoMute(0,0,255);
- }
- #endif
- _DVBApp_CheckPopupDisplay();
- }
- #ifdef CONFIG_SUPPORT_PVR
- if(DVBApp_GetPVRSwitchSRC())
- {
- DVBApp_SetPVRSwitchSRC(FALSE);
- if(DVBApp_GetReminderTime2Show() > 1)//For confirm record ahead
- {
- AL_Return_t ret;
- memset(&g_stDetails,0,sizeof(AL_PR_details_t));
- ret = AL_PR_GetById(g_dReminderId, &g_stDetails);
- if (ret == AL_SUCCESS)
- {
- DVBApp_PVRRec_SetTimerCancle();
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- (APP_DVB_GLOBAL_EVENT_PVRSCH | PASS_TO_SYSAPP), (UINT32)&g_stDetails);
- }
- }
- }
- #endif
- }
- break;
- case APP_DVB_GLOBAL_EVENT_OBJECT_OPEN:
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, dParam & 0XFFFF))
- {
- #ifdef CONFIG_CI_SUPPORT
- if (((dParam & 0XFFFF) == DVB_GUIOBJ_CI_MENU) || ((dParam & 0XFFFF) == DVB_GUIOBJ_CI_ENQ))
- {
- UINT32 i;
- UINT8 CouldOpen = TRUE;
- for (i = 0; i < sizeof(g_CI_IgnoreGuiObjID) / sizeof(g_CI_IgnoreGuiObjID[0]); i++)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, g_CI_IgnoreGuiObjID[i]))
- {
- CouldOpen = FALSE;
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CI_MENU)
- && ((dParam & 0XFFFF) == DVB_GUIOBJ_CI_ENQ))
- {
- CouldOpen = TRUE;
- }
- }
- }
- if (CouldOpen == FALSE)
- {
- break;
- }
- for (i = 0; i < sizeof(g_CI_HideGuiObjID) / sizeof(g_CI_HideGuiObjID[0]); i++)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, g_CI_HideGuiObjID[i]))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, g_CI_HideGuiObjID[i]);
- }
- }
- g_u32OldPopup = PLAYBACK_POPUP_NONE;
- _DVBApp_HidePopupDisplay();
- if((dParam&0XFFFF) == DVB_GUIOBJ_CI_MENU)
- {
- _DVBApp_CloseAllMenu();
- #ifdef CONFIG_SUPPORT_PVR
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO);
- }
- extern Boolean APP_GUIOBJ_DVB_PvrFilePlayInfo_IsExist(void);
- if (APP_GUIOBJ_DVB_PvrFilePlayInfo_IsExist())
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAYINFO,
- APP_DVB_INTRA_EVENT_PVR_FILEPLAYINFO_HIDE_MENU, 0);
- }
- #endif
- }
- }
- #endif
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, dParam & 0XFFFF, dParam >> 16);
- }
- break;
- case APP_DVB_GLOBAL_EVENT_OBJECT_CLOSE:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, dParam))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, dParam);
- }
- break;
- case APP_DVB_GLOBAL_EVENT_CLOSE_POPUP:
- DVBApp_ClosePopup(dParam, UI_EVENT_NULL);
- break;
- case APP_DVB_GLOBAL_EVENT_EXIT_ALL_MENU:
- #ifdef CONFIG_CIPLUS_SUPPORT_PVR //CI MMI case, when PIN code is passed, do not close all UI.
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- break;
- #endif
- _DVBApp_Exit_All_Menu();
- break;
- #ifdef CONFIG_CI_SUPPORT
- case APP_DVB_GLOBAL_EVENT_POPMSG_CAM_ON_INIT:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CI_CAM_INIT);
- break;
- case APP_DVB_GLOBAL_EVENT_POPMSG_CAM_INIT_OK:
- _APP_GUIOBJ_Feature_UpdateList(APP_GUIOBJ_MainMenu_GetIndexByType(CIINFO_ITEM));
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CI_CAM_INIT_OK);
- break;
- #ifndef CONFIG_TV_NEW_UI
- case APP_DVB_GLOBAL_EVENT_POPMSG_CAM_ERROR:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CI_CAM_ERROR);
- break;
- #endif
- case APP_DVB_GLOBAL_EVENT_POPMSG_CAM_REMOVED:
- _APP_GUIOBJ_Feature_UpdateList(APP_GUIOBJ_MainMenu_GetIndexByType(CIINFO_ITEM));
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CI_CAM_REMOVED);
- break;
- #ifdef SUPPORT_CICAM_NEW_MESSAGE //this define need be enable to inform user remove CICAM card
- case APP_DVB_GLOBAL_EVENT_POPMSG_INFORM_USER_REMOVE_CAM:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CI_INFORM_USER_REMOVE_CAM);
- break;
- #endif
- case APP_DVB_GLOBAL_EVENT_CI_REDRAW_ALL_CAM:
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_CI_MENU, APP_DVB_INTRA_EVENT_CI_REDRAW_ALL_CAM, dParam);
- break;
- case APP_DVB_GLOBAL_EVENT_CI_CAM_ON_INIT:
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_CI_MENU, APP_DVB_INTRA_EVENT_CI_CAM_ON_INIT, dParam);
- break;
- case APP_DVB_GLOBAL_EVENT_CI_CAM_NOT_INSERT:
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_CI_MENU, APP_DVB_INTRA_EVENT_CI_CAM_NOT_INSERT, dParam);
- break;
- case APP_DVB_GLOBAL_EVENT_CI_CAM_INIT_OK:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_MAINMENU))
- {
- DVBApp_ResetPopup_Channel();
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- _APP_GUIOBJ_Feature_UpdateList(APP_GUIOBJ_MainMenu_GetIndexByType(CIINFO_ITEM));
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_CI_MENU, APP_DVB_INTRA_EVENT_CI_CAM_INIT_OK, dParam);
- break;
- case APP_DVB_GLOBAL_EVENT_CI_REDRAW_MENU:
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_CI_MENU, APP_DVB_INTRA_EVENT_CI_REDRAW_MENU, dParam);
- break;
- #ifdef CONFIG_CIPLUS_SUPPORT
- case APP_DVB_GLOBAL_EVENT_SCAN_UPDATE_FINISHED:
- dvb_printf("\e[33m\n %s %d APP_DVB_GLOBAL_EVENT_SCAN_UPDATE_FINISHED recive.\e[0m\n",__FUNCTION__, __LINE__);
- if (!AL_CS_IsStop())
- {
- APP_ScanProcess_Stop();
- }
- while( !AL_CS_IsStop() )
- {
- GL_TaskSleep(20);
- }
- break;
- case APP_DVB_GLOBAL_EVENT_CI_AUTH_PROGRESS:
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_CI_MENU, APP_DVB_INTRA_EVENT_CI_AUTH_PROGRESS, dParam);
- break;
- case APP_DVB_GLOBAL_EVENT_POPMSG_START_INSTALL_NIT:
- DVBApp_ShowInstallProfilePopMenu();
- break;
- case APP_DVB_GLOBAL_EVENT_POPMSG_END_INSTALL_NIT:
- {
- UINT32 dMsgType = 0;
- APP_GUIOBJ_PopMsg_GetMsgDialogType(&dMsgType);
- if (dMsgType == PLAYBACK_POPUP_PROMPT_CI_INSTALL_PROFILE)
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- }
- break;
- #endif
- #endif
- case APP_GLOBAL_EVENT_OPEN_HOMEMODE:
- #if defined(CELLO_cello) && defined(SUPPORT_HOMEMODE)
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- if((g_stUserInfoData.AutoInstalledHomeMode)
- &&(!g_stUserInfoData.AutoInstalled))
- {
- if ((!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_INITINSTALL))
- #ifdef CONFIG_SUPPORT_USB_UPGRADE
- &&(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE))
- #endif
- )
- {
- //Close all menu before show Auto Installation menu
- _DVBApp_CloseAllMenu();
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- if(APP_Factory_GetAutoTestOnOff() == FALSE)
- #endif
- {
- APP_GUIOBJ_AutoInstall_SetOpenHomeModeFlag(FALSE);
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_INITINSTALL, INSTALL_FROM_ONLYFORHOMEMODE);
- }
- }
- }
- #endif
- break;
- case APP_GLOBAL_EVENT_POPMSG_PWD:
- {dvb_printf("APP_GLOBAL_EVENT_POPMSG_PWD is received,Unlock success!!\n\n");
- g_SetPQFlag = TRUE;
- APP_DVB_Playback_SetUnlock(al_true);
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (bSignalState == AL_DVB_MONITOR_VALUE_INVAILED)//tuner locked
- {
- al_uint8 uDVBMonState = AL_DVB_MONITOR_VALUE_TRUE;
- AL_DVB_Monitor_SetState(AL_DVB_MONITOR_STATE_SIGNAL, &uDVBMonState);
- }
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_START_PLAYBACK, 0);
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- MID_PlaybackStreamPause(1);
- }
- }
- DVBApp_CheckProgramType(TRUE);
- #ifdef CONFIG_SUPPORT_MHEG5
- dvb_printf("\n [set mheg5 flag] APP_GLOBAL_EVENT_POPMSG_PWD@@@@@@@@@@@@@dvb_app.c@@@@@@@@@@@@line=%d\n",__LINE__);
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_FORCE|OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5 | OSD2CTRLMDL_SUB);
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- AL_DB_EDBType_t DBType_Current = AL_DBTYPE_DVB_T;
- AL_RecHandle_t CurrentProgHandle;
- UINT32 CurrentTime;
- AL_Setting_Reload(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- if (g_stChannelData.TV_Connection == APP_RF_TYPE_DVB_C)
- {
- DBType_Current = AL_DBTYPE_DVB_C;
- }
- else if (g_stChannelData.TV_Connection == APP_RF_TYPE_DVB_T)
- {
- DBType_Current = AL_DBTYPE_DVB_T;
- }
- else if (g_stChannelData.TV_Connection == APP_RF_TYPE_DVB_S)
- {
- DBType_Current = AL_DBTYPE_DVB_S;
- }
- CurrentProgHandle = APP_DVB_Playback_GetCurrentProgHandle(DBType_Current, AL_RECTYPE_DVBTV | AL_RECTYPE_DVBRADIO | AL_RECTYPE_DVBDATA);
- AL_Time_GetCurTimeInSecs(&CurrentTime);
- if (CurrentProgHandle == g_stDetails.rem_details.handle
- && CurrentTime <g_stDetails.rem_details.event_end_time_insec
- && CurrentTime > g_stDetails.start_local_time_secs)
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, (APP_DVB_GLOBAL_EVENT_PVRSCH|PASS_TO_SYSAPP), (UINT32)&g_stDetails);
- }
- #endif
- }
- break;
- case APP_DVB_GLOBAL_EVENT_START_PLAYBACK:
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK,
- APP_DVB_INTRA_EVENT_START_PLAYBACK, 0);
- break;
- case APP_DVB_GLOBAL_EVENT_STOP_PLAYBACK:
- {
- MID_PlaybackProgState_t eProgState = MID_PLAYBK_PROG_STATE_NORMAL;
- AL_DB_EDBType_t eDBType = AL_DBTYPE_MAX;
- AL_RecHandle_t hCurrPrgHdl = AL_DB_INVALIDHDL;
- if (AL_SUCCESS != APP_Database_GetCurrentDBType(APP_SOURCE_DTV, &eDBType))
- {
- dvb_printf("Get DBType error!!!\n");
- break;
- }
- hCurrPrgHdl = APP_DVB_Playback_GetCurrentProgHandle(eDBType, (AL_RECTYPE_DVBTV |AL_RECTYPE_DVBRADIO|AL_RECTYPE_DVBDATA));
- if (hCurrPrgHdl == AL_DB_INVALIDHDL)
- {
- dvb_printf("Get current program handle error!!!\n");
- break;
- }
- eProgState = APP_DVB_Playback_GetProgStateByHandle(eDBType, hCurrPrgHdl);
- if((APP_DVB_ParentalLock_GetPrtRatinglock())
- &&(eProgState != MID_PLAYBK_PROG_STATE_LOCKED))
- {
- break;
- }
- }
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK,
- APP_DVB_INTRA_EVENT_STOP_PLAYBACK, dParam);
- break;
- #ifdef CONFIG_SUPPORT_PVR
- case APP_GLOBAL_EVENT_PVRREC_CHANGESOURCE:
- DVBApp_SetPVRSwitchSRC(FALSE);
- DVBApp_SetTVRadioSwap(FALSE);
- if (eServiceType != g_eRecType)
- {
- _DVBApp_Exit_All_Menu();
- if (stoprec_id != AL_SCH_INVALID_ID)
- {
- AL_SCH_UnScheduleEvent(&stoprec_id);
- APP_GUIOBJ_DVB_PvrRecDurationTime_ResetDurationID();
- }
- #if 0 //for mantis 199484/209573, don't return to the last program after timer record
- DVBApp_SetTVRadioSwap(TRUE);
- #endif
- if (APP_DVB_Playback_SwapServiceType(eNetType, (AL_DB_ERecordType_t *)&NextServiceType, &u32TotalNum) != AL_SUCCESS)
- {
- dvb_printf("PVRREC Change sevice type fail!!!!!!!!!!\n");
- }
- }
- break;
- case APP_GLOBAL_EVENT_PVR_REMINDER:
- {
- PVR_DEBF("Reminder \n\n");
- AL_Return_t ret;
- AL_DB_EDBType_t DBType_ret = AL_DBTYPE_DVB_T;
- AL_DB_ERecordType_t RecType = AL_RECTYPE_DVBTV;
- al_uint32 CurTimeInSec = 0;
- AL_Time_GetCurTimeInSecs(&CurTimeInSec);
- g_dReminderId = dParam;
- memset(&g_stDetails,0,sizeof(AL_PR_details_t));
- ret = AL_PR_GetById(g_dReminderId, &g_stDetails);
- if (ret != AL_SUCCESS)
- {
- memset(&g_stDetails,0,sizeof(AL_PR_details_t));
- dvb_printf("AL_PR_GetById Error\n");
- break;
- }
- /*Only storage the current REC type for start prompted pop*/
- DVBApp_SetRemType(g_stDetails.rem_type);
- DBType_ret = APP_DVB_Playback_GetCurrentNetType();
- if (DBType_ret == g_stDetails.db_type)
- {
- /* if RF type diff, change RF type on APP_DVB_GLOBAL_EVENT_PVRSCH*/
- //APP_WAKEUP_Recorder_SetTimeout();
- AL_DB_GetRecordType(g_stDetails.rem_details.handle,
- &DBType_ret, &RecType);
- if (RecType == AL_RECTYPE_DVBTV)
- {
- g_eRecType = AL_RECTYPE_DVBTV;
- }
- else if (RecType == AL_RECTYPE_DVBRADIO)
- {
- g_eRecType = AL_RECTYPE_DVBRADIO;
- }
- }
- _DVBApp_CloseAllMenu();
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_PVR_REMIDER);
- }
- break;
- case APP_GLOBAL_EVENT_PVR_REMINDER_CONFIRM:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_PVR_REMIDER_CONFIRM);
- break;
- case APP_DVB_GLOBAL_EVENT_PVR_EXPIRE:
- {
- //stop recording;
- AL_SCH_sched_id_t Stop_id = AL_SCH_INVALID_ID;
- AL_SCH_sched_id_t Schedule_id = dParam;
- AL_SCH_details_t sch_details;
- AL_SCH_GetScheduleDetails(&dParam, &sch_details);
- PVR_DEBF("hProg ================= 0x%x\n", sch_details.sch_user_para);
- PVR_DEBF("%s %d\n", __FUNCTION__, __LINE__);
- PVR_DEBF("stop record is call\n");
- Stop_id = stoprec_id;
- if (stoprec_id == AL_SCH_INVALID_ID)
- {
- Stop_id = APP_GUIOBJ_DVB_PvrRecDurationTime_GetDurationID();
- }
- if (Schedule_id != Stop_id)
- {
- //if expire timer ID no match, ignor it.
- break;
- }
- else
- {
- //if duration is less then 5s, we will consider this stop timer is wrong
- INT32 g_RecTime;
- MID_RecorderGetStreamTime(&g_RecTime);
- if (g_RecTime < 5)
- {
- break;
- }
- }
- if (u8MidRecState != MID_REC_STATUS_STOP)
- {
- PVR_DEBF("==========timer stop recorder!====\n");
- DVBApp_StopRecord();
- }
- #if 0 //for mantis 199484, don't return to the last program after timer record
- AL_Return_t ret;
- AL_PR_details_t details;
- AL_DB_EDBType_t DBType = APP_DVB_Playback_GetCurrentNetType();
- AL_SCH_sched_id_t ref_id = AL_PR_MAX_NO_REMINDERS;
- AL_SCH_sched_id_t ret_id_first = AL_PR_MAX_NO_REMINDERS;
- ret = AL_PR_Get(DBType, AL_PR_REC_FIRST, AL_PR_EVT_REM | AL_PR_SRV_REM, ref_id, &ret_id_first);
- if (ret == AL_SUCCESS)
- {
- AL_PR_GetById(ret_id_first, &details);
- /*if the comming minute will start recording, no need to change back to last channel*/
- /*CurTimeInSec sometimes has a delay, so minus 2 sec here*/
- if ((CurTimeInSec > details.start_local_time_secs - 60) &&
- (CurTimeInSec - 2 < details.start_local_time_secs))
- {
- break;
- }
- }
- if (DVBApp_GetTVRadioSwap() == TRUE)
- {
- _DVBApp_CloseAllMenu();
- DVBApp_SetTVRadioSwap(FALSE);
- if (APP_DVB_Playback_SwapServiceType(eNetType, (AL_DB_ERecordType_t *)&NextServiceType, &u32TotalNum) != AL_SUCCESS)
- {
- dvb_printf("PVR EXPIRE Change sevice type fail!!!!!!!!!!\n");
- }
- break;
- }
- if (g_ProgHandleB4Rec != 0)
- {
- _DVBApp_CloseAllMenu();
- AL_DB_EDBType_t DBType_ret = AL_DBTYPE_DVB_T;
- AL_DB_ERecordType_t RecType = AL_RECTYPE_DVBTV;
- AL_DB_GetRecordType(g_ProgHandleB4Rec, &DBType_ret, &RecType);
- #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM)
- APP_RFType_en eRFType = APP_RF_TYPE_DVB_T;
- AL_DB_EDBType_t DBType_Current =
- APP_DVB_Playback_GetCurrentNetType();
- if (DBType_Current != DBType_ret)
- {
- if (details.db_type == AL_DBTYPE_DVB_T)
- {
- eRFType = APP_RF_TYPE_DVB_T;
- }
- else if (details.db_type == AL_DBTYPE_DVB_C)
- {
- eRFType = APP_RF_TYPE_DVB_C;
- }
- else if (details.db_type == AL_DBTYPE_DVB_S)
- {
- eRFType = APP_RF_TYPE_DVB_S;
- }
- APP_GUIOBJ_Channel_SetRFTypeWithHdl(eRFType, g_ProgHandleB4Rec);
- }
- else
- #endif
- {
- _DVBApp_Zapping(RecType, g_ProgHandleB4Rec, FALSE, 0, TRUE);
- }
- g_ProgHandleB4Rec = 0;
- }
- #endif
- }
- break;
- case APP_DVB_GLOBAL_EVENT_PVRSCH:
- {
- if (DVBApp_GetPVRSwitchSRC() == TRUE)
- {
- //resend the timer PVR start message if source change is not finish
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, (APP_DVB_GLOBAL_EVENT_PVRSCH|PASS_TO_SYSAPP), dParam);
- return 0;
- }
- AL_PR_details_t details;
- memcpy((UINT8 *)&details, (UINT8 *)dParam, sizeof(AL_PR_details_t));
- AL_DB_EDBType_t DBType_ret = AL_DBTYPE_DVB_T;
- AL_DB_EDBType_t DBType_Current = AL_DBTYPE_DVB_T;
- AL_DB_ERecordType_t RecType = AL_RECTYPE_DVBTV;
- AL_RecHandle_t CurrentProgHandle;
- /* get remider program */
- AL_DB_GetRecordType(details.rem_details.handle, &DBType_ret, &RecType);
- /* get current program handele */
- AL_Setting_Reload(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- if (g_stChannelData.TV_Connection == APP_RF_TYPE_DVB_C)
- {
- DBType_Current = AL_DBTYPE_DVB_C;
- }
- else if (g_stChannelData.TV_Connection == APP_RF_TYPE_DVB_T)
- {
- DBType_Current = AL_DBTYPE_DVB_T;
- }
- else if (g_stChannelData.TV_Connection == APP_RF_TYPE_DVB_S)
- {
- DBType_Current = AL_DBTYPE_DVB_S;
- }
- CurrentProgHandle = APP_DVB_Playback_GetCurrentProgHandle(DBType_Current, AL_RECTYPE_DVBTV | AL_RECTYPE_DVBRADIO | AL_RECTYPE_DVBDATA);
- g_ProgHandleB4Rec = 0;
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY);
- }
- /* zap prog */
- if (details.rem_details.handle != CurrentProgHandle)
- {
- PVR_DEBF("handle ==== 0x%x\n", details.rem_details.handle);
- PVR_DEBF(" CurrentProgHandle ==== 0x%x\n", CurrentProgHandle);
- g_ProgHandleB4Rec = CurrentProgHandle;
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- #ifdef SUPPORT_PVR_REMINDER_CONFIRM_SPEC
- DVBApp_ResetPopup_Channel(); //close all menu before timer rec
- _DVBApp_CloseAllMenu();
- g_ProgHandleB4Rec = 0;
- if (details.rem_type == AL_PR_SRV_REM)
- {
- if (u8MIDRecMode == MID_REC_MODE_MANUAL)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_STOP_REC_FOR_REMINDER);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_STOP_TSHIFT_FOR_REMINDER);
- }
- break;
- }
- else
- {
- if (u8MIDRecMode == MID_REC_MODE_MANUAL)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_STOP_REC_FOR_TIMER_REC);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_STOP_TSHIFT_FOR_TIMER_REC);
- }
- break;
- }
- #endif
- if (u8MIDRecMode == MID_REC_MODE_MANUAL)
- DVBApp_StopRecord();
- else
- DVBApp_StopTimeshift(TRUE);
- }
- _DVBApp_CloseAllMenu();
- #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM)
- APP_RFType_en eRFType = APP_RF_TYPE_DVB_T;
- if (DBType_Current != details.db_type)
- {
- if (details.db_type == AL_DBTYPE_DVB_T)
- {
- eRFType = APP_RF_TYPE_DVB_T;
- }
- else if (details.db_type == AL_DBTYPE_DVB_C)
- {
- eRFType = APP_RF_TYPE_DVB_C;
- }
- else if (details.db_type == AL_DBTYPE_DVB_S)
- {
- eRFType = APP_RF_TYPE_DVB_S;
- }
- APP_GUIOBJ_Channel_SetRFTypeWithHdl(eRFType,
- details.rem_details.handle);
- }
- else
- #endif
- {
- _DVBApp_Zapping(RecType, details.rem_details.handle, FALSE, 0, FALSE);
- }
- if (details.rem_type == AL_PR_EVT_REM)
- {
- DVBApp_PVRDEMUX_SetTimerRECFLag(TRUE);
- }
- }
- /* recorder */
- if (details.rem_type == AL_PR_EVT_REM)
- {
- DVBApp_ResetPopup_Channel(); //close all menu before timer rec
- _DVBApp_CloseAllMenu();
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)//for spec, stop current recording and start timer rec
- {
- if (u8MIDRecMode == MID_REC_MODE_MANUAL)
- DVBApp_StopRecord();
- else
- DVBApp_StopTimeshift(TRUE);
- }
- AL_DB_GetRecordsTotalNum(DBType_ret, RecType, &u32TotalNum);
- if (u32TotalNum == 0)
- {
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM);
- }
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- PVR_DEBF("%s is call.LINE : %d\n", __FUNCTION__, __LINE__);
- }
- else
- {
- AL_RecHandle_t hProg = AL_DB_INVALIDHDL;
- if (MID_PlaybackGetCurProgHandle(NULL, &hProg) != MID_SUCCESS)
- {
- PVR_DEBF("%s is call.LINE : %d\n", __FUNCTION__, __LINE__);
- PVR_DEBF("Error, get current program handle failed...\n");
- hProg = AL_DB_INVALIDHDL;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO);
- }
- APP_GUIOBJ_DVB_PvrRec_SetTimerRecord(TRUE);
- _APP_GUIOBJ_DVB_PvrRecDurationTime_ResetDurTime();
- #ifdef DEMUX_CONTROL_TEST
- /*if DVBApp_PVRDEMUX_GetTimerRECFLag == FALSE
- * rec current program,
- * else
- * demux maybe don't start. so please wait...
- * see DVBApp_PVRDEMUX_GetTimerRECFLag == TRUE
- *
- */
- if (DVBApp_PVRDEMUX_GetTimerRECFLag() == FALSE)
- {
- PVR_DEBF("\n\n\n[debug rec current program] %s %d\n\n\n",__FUNCTION__,__LINE__);
- DVBApp_PVRDEMUX_StartTimerREC();
- }
- #else
- DVBApp_PVRDEMUX_StartTimerREC();
- #endif
- //when event change, we must save it as soon as possible .for 0165167. by kai.wang
- AL_PR_Update(0, 0);
- //end
- AL_SCH_details_t sch_detail;
- al_uint32 CurTimeInSec = 0; //test
- AL_Time_GetCurTimeInSecs(&CurTimeInSec);
- memset(&sch_detail, 0, sizeof(AL_SCH_details_t));
- sch_detail.sch_event = AL_SCH_TYPE_SINGLE | AL_SCH_TYPE_PRG_EXPIRE_SCH;
- sch_detail.sch_snooze = 0;
- /*when A event end time is B event start time, need take 5s to stop and start flow.*/
- if (AL_PR_CheckEvtEndTime(details.rem_details.event_end_time_insec) == TRUE)
- {
- sch_detail.sch_time = details.rem_details.event_end_time_insec - 5; //for mantis 0156382
- }
- else
- {
- sch_detail.sch_time = details.rem_details.event_end_time_insec;
- }
- sch_detail.sch_user_para = (al_uint32)hProg;
- printf("event_end_time_insec = %d\n", sch_detail.sch_time);
- printf("current time = %d\n", CurTimeInSec);
- AL_SCH_ScheduleEvent(&sch_detail, &stoprec_id, al_null);
- APP_GUIOBJ_DVB_PvrRec_SetDurationTime(details.rem_details.event_end_time_insec - CurTimeInSec); //zhongbaoxing added for mantis 142788 @20110720
- PVR_DEBF("%s %d\n", __FUNCTION__, __LINE__);
- }
- }
- else
- {
- DVBApp_SetTVRadioSwap(FALSE);
- g_ProgHandleB4Rec = 0;
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- if(APP_WAKEUP_GetBootFlag() == TRUE)
- {
- APP_WAKEUP_RealPowerUp();
- }
- #endif
- }
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE,
- ITEM_OFFSET(APP_SETTING_Feature_t, AutoTimeShift),
- sizeof(g_stFeatureData.AutoTimeShift), &(g_stFeatureData.AutoTimeShift));
- if (APP_PVR_TIMESHIFT_AUTO == g_stFeatureData.AutoTimeShift)
- {
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- }
- }
- break;
- case APP_DVB_GLOBAL_EVENT_REMINDER_EXPIRE:
- #ifdef SUB_CUSTOMER_Tianle
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST_FORTEAC))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST_FORTEAC, APP_DVB_GLOBAL_EVENT_REMINDER_EXPIRE, 0);
- }
- #else
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST, APP_DVB_GLOBAL_EVENT_REMINDER_EXPIRE, 0);
- }
- #endif
- break;
- case APP_DVB_GLOBAL_EVENT_REMINDER_TIME_CHANGE:
- AL_SCH_Handle_Time_Change(dParam);
- UINT32 u32PopMsgDialogType = POPMSG_PROMPT_NO_PROG;
- APP_GUIOBJ_PopMsg_GetMsgDialogType(&u32PopMsgDialogType);
- if ((POPMSG_CONFIRM_REC_REMIDER_TIME == u32PopMsgDialogType)
- ||(POPMSG_CONFIRM_REC_REMIDER_TIME_CONFIRM == u32PopMsgDialogType))
- {
- al_uint32 CurTimeInSec = 0;
- if (AL_Time_GetCurTimeInSecs(&CurTimeInSec) == AL_SUCCESS)
- {
- if ((DVBApp_GetTimerRECStartTime() > CurTimeInSec+PR_NOTIFY_TIME_IN_SEC)
- ||(CurTimeInSec > DVBApp_GetTimerRECStartTime()+PR_NOTIFY_TIME_IN_SEC))
- {
- //system time changed, cancle the REMINDER cut down pop
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_PVR_SYSTEM_TIME_CHANGED);
- }
- }
- }
- break;
- case APP_GLOGAL_EVENT_PVR_ASKFORSTANDBY:
- if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRPOWER))
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVRPOWER, 0);
- }
- break;
- case APP_GLOGAL_EVENT_PVR_TIMESHIFT_STANDBY:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_PVR_TIMESHIFT_STANDBY);
- break;
- case APP_GLOBAL_EVENT_PVR_INSERT_USB_POP:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_INSERT_USB);
- break;
- case APP_GLOBAL_EVENT_PVR_INVALID_USB_POP:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_INVALID_USB);
- break;
- case APP_GLOBAL_EVENT_PVR_INSERT_USB_CONFIRM:
- _DVBApp_CloseAllMenu();
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_INSERT_USB_CONFIRM);
- break;
- case APP_GLOBAL_EVENT_PVR_INVALID_USB_CONFIRM:
- _DVBApp_CloseAllMenu();
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_INVALID_USB_CONFIRM);
- break;
- #endif
- #ifdef CONFIG_SUPPORT_AUDIO_CODEC_OVERLAY
- case FW_AUDIO_LOADCODEC_OK:
- printf("\n[%s:%d] Load audio codec ok \n\n",__FUNCTION__,__LINE__);
- MID_PlaybackResetPrevAudioCodec();
- break;
- case FW_AUDIO_LOADCODEC_ERROR:
- printf("\n[%s:%d] Load audio codec error \n\n",__FUNCTION__,__LINE__);
- break;
- #endif
- case FW_MONITOR_TUNER_LOCKED:
- dvb_printf(" FW_MONITOR_TUNER_LOCKED event received\n");
- #ifdef DEMUX_CONTROL_TEST
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK, FW_MONITOR_TUNER_LOCKED, 0);
- #else
- APP_GUIOBJ_DVB_Playback_SetZappingState(FALSE);
- APP_Video_SetMute(FALSE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);//waitting for 3D function completed,then open video.
- #endif
- #ifdef CONFIG_SUPPORT_3D_EN
- UINT32 value = TV_IDS_String_On;
- _APP_GUIOBJ_3DMenu_GetForce2DAnother(&value);
- DISP_3D_ModeChange_Status_t e3DModeChangeSt = DISP_3D_STATUS_RESET;
- UINT32 u32Mode = 0;
- AL_DB_ERecordType_t eRecordType;
- #if 1
- Boolean bShowLogo = DTV_FALSE;
- bShowLogo = APP_GUIOBJ_DVB_Playback_GetShowLogoState();
- #endif
- MID_PlaybackGetCurProgHandle(&eRecordType, al_null);
- if ((eRecordType == AL_RECTYPE_DVBRADIO) || (bShowLogo == TRUE))
- {
- APP_GUIOBJ_3DMenu_SetMode(TV_IDS_String_3DMODE_OFF);
- }
- else
- {
- MID_DISP_DTVGet3DModeChangeSt(&e3DModeChangeSt);
- if (DISP_3D_STATUS_RESET == e3DModeChangeSt)
- {
- APP_GUIOBJ_3DMenu_SetMode(TV_IDS_String_3DMODE_OFF);
- }
- else if (DISP_3D_STATUS_ALWAYS_ON == e3DModeChangeSt)
- {
- APP_GUIOBJ_3DMenu_GetMode(&u32Mode);
- if(value == TV_IDS_String_On)
- {
- //set 3D mode to Off
- APP_GUIOBJ_3DMenu_SetModeNoOutPutStructure(u32Mode);
- _APP_GUIOBJ_3DMenu_SetForce2DAnother(TV_IDS_String_On);
- }
- else
- {
- APP_GUIOBJ_3DMenu_SetMode(u32Mode);
- }
- }
- else if(DISP_3D_STATUS_ONLY_2D3D_ALWAYS_ON == e3DModeChangeSt)
- {
- APP_GUIOBJ_3DMenu_GetMode(&u32Mode);
- if(value == TV_IDS_String_On)
- {
- if(u32Mode == TV_IDS_String_3DMODE_2D23D)
- {
- APP_GUIOBJ_3DMenu_SetModeNoOutPutStructure(u32Mode);
- _APP_GUIOBJ_3DMenu_SetForce2DAnother(TV_IDS_String_On);
- }
- else
- {
- if(bSet3DMode == DTV_TRUE)
- {
- bSet3DMode = DTV_FALSE;
- }
- else
- {
- APP_GUIOBJ_3DMenu_SetMode(TV_IDS_String_3DMODE_OFF);
- }
- }
- //_APP_GUIOBJ_3DMenu_SetForce2DAnother(TV_IDS_String_On);
- }
- else if(u32Mode == TV_IDS_String_3DMODE_2D23D)//Force 2D is off
- {
- APP_GUIOBJ_3DMenu_SetMode(TV_IDS_String_3DMODE_2D23D);
- }
- else //if(u32Mode == TV_IDS_String_3DMODE_2D23D)
- {
- if(bSet3DMode == DTV_TRUE)
- {
- bSet3DMode = DTV_FALSE;
- }
- else
- {
- APP_GUIOBJ_3DMenu_SetMode(TV_IDS_String_3DMODE_OFF);
- }
- }
- }
- }
- #endif
- /* modify by qinhe for mantis 0011315 */
- //APP_Video_SetMute(FALSE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- //MID_DISP_DTVInformDisplayPipe();
- #ifdef CONFIG_SUPPORT_PVR
- /*< modify by kai.wang*/
- //MID_RecorderSetSignalEx(PRIMARY_REC_UNIT, MID_REC_SIGNAL_GOOD);
- if (u8MidRecState == MID_REC_STATUS_PAUSE && g_bIsPlaykey == FALSE)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- //DVBApp_CheckProgramType(TRUE);
- /*close Standby menu*/
- //AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SLEEP_INFO))
- {
- if(APP_GUIOBJ_SleepTimer_GetOpenStandby() == al_true)
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_SLEEP_INFO);
- if(APP_GUIOBJ_SleepTimer_GetSleepPopConflict() == TRUE)
- {
- APP_GUIOBJ_SleepTimer_SetSleepPopConflict(FALSE);
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_ATV,
- (APP_GLOBAL_EVENT_SLEEP_TIMER_INFO|PASS_TO_SYSAPP), APP_POWERDOWN_SLEEP);
- }
- }
- }
- #if defined (CONFIG_SUPPORT_TTX ) && defined(CONFIG_SUPPORT_TTX_DISP_FOR_AUS)
- APP_SetTTXTimer(0);
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- if (APP_Area_SupportDtg())
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB | OSD2CTRLMDL_MH5);
- }
- #endif
- break;
- case APP_GLOBAL_EVENT_CREATE_FATNET:
- if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVNET))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_FAVNET, 0);
- }
- break;
- #ifdef CONFIG_SUPPORT_MHEG5
- case APP_DVB_GLOBAL_EVENT_MHEG5_EXIST:
- case APP_DVB_GLOBAL_EVENT_MHEG5_NOT_EXIST:
- DVBApp_CheckProgramType(TRUE);
- break;
- case APP_DVB_GLOBAL_EVENT_MHEG5_BOOT_CAROUSEL_CHANGE:
- {
- al_bool bPsiMonState = al_false;
- AL_RecHandle_t hCurrProgHdl = MID_PsiMonQueryCurrentProgHdl();
- AL_PSI_Monitor_GetState(&bPsiMonState);
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- APP_DVB_Mheg5_Stop(MHEG5_STOP_ALL);
- APP_DVB_Mheg5_Start(0);
- }
- if (bPsiMonState)
- {
- AL_PSI_Monitor_Stop(al_false, al_false);
- if (hCurrProgHdl != AL_DB_INVALIDHDL)
- {
- AL_PSI_Monitor_Start(hCurrProgHdl, al_false);
- }
- }
- }
- break;
- #ifdef CONFIG_SUPPORT_MHEG5_ICS
- case APP_DVB_GLOBAL_EVENT_MHEG5_ICS_PFG_SHOW:
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if(g_stFeatureData.ChildLock == APP_SYSTEMLOCK_ON)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CHECKPWD);
- }
- else
- {
- MHEG5_ICS_NotifyGuidanceResponse(TRUE);
- }
- break;
- case APP_DVB_GLOBAL_EVENT_MHEG5_ICS_PFG_HIDE:
- break;
- case APP_DVB_GLOBAL_EVENT_MHEG5_SET_SUBTITLE_MODE:
- if(MHEG5_ICS_IsRunning() == FALSE)
- {
- if(dParam)
- {
- dvb_printf("APP_DVB_GLOBAL_EVENT_MHEG5_SET_SUBTITLE_MODE: show\n");
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- }
- else
- {
- dvb_printf("APP_DVB_GLOBAL_EVENT_MHEG5_SET_SUBTITLE_MODE: hide\n");
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE | OSD2CTRLMDL_SUB);
- }
- }
- break;
- #endif
- #endif
- case FW_MONITOR_TUNER_UNLOCKED:
- //MID_PlaybackStartAVChannel(eServiceType, hProg);
- #ifdef CONFIG_QSD
- // To echo message with DTV has no signal for chip test using.
- con_dbg_echo('G', 'O');
- con_dbg_echo('O', 'D');
- #endif
- dvb_printf(" FW_MONITOR_TUNER_UNLOCKED event received\n");
- if (APP_GUIOBJ_DVB_Playback_GetZappingState())
- {
- APP_GUIOBJ_DVB_Playback_SetZappingState(FALSE);
- }
- #ifdef CONFIG_CIPLUS_SUPPORT
- if( APP_CIPLUS_IsVirtualChannel(0) )
- return 0;
- #endif
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_ALL);
- /* reset set unmute flag */
- bSetUnMuteFlag = FALSE;
- g_bMidHasUnmute = FALSE;
- g_SetPQFlag = FALSE;
- //g_bNoSteamData = AL_DVB_MONITOR_VALUE_INVAILED;
- #ifdef SUPPORT_DTV_SHOW_BLUESCREEN
- g_bIsBlueScreen = FALSE;
- #endif
- {
- AL_DB_ERecordType_t eRecordType;
- if (MID_SUCCESS == MID_PlaybackGetCurProgHandle(&eRecordType, al_null))
- {
- if (eRecordType == AL_RECTYPE_DVBTV)
- {
- if ((MID_PlaybackIsPauseState() == 0)
- #ifdef CONFIG_SUPPORT_PVR
- && (DRV_SUCCESS != MID_RecorderIsCurRecording())
- && (!MID_TSPLParser_GetThreadState())
- #endif
- )
- {
- //zhongbaoxing added for mantis 0166730 @20120224
- APP_Video_SetMute(TRUE, TRUE, APP_MUTE_MODE_NO_SIGNALE, eSourType);
- //MID_PlaybackClearScreenNow(); //note: this function is no use anymore because of the bandwidth issue.
- }
- #ifdef CONFIG_SUPPORT_3D_EN
- APP_StorageSource_Type_t eStorageSourTypeT = APP_STORAGE_SOURCE_MAX;
- eStorageSourTypeT = APP_Data_UserSetting_SourceTypeMappingToStorage(eSourType);
- UINT32 value = TV_IDS_String_On;
- _APP_GUIOBJ_3DMenu_GetForce2DAnother(&value);
- DISP_3D_ModeChange_Status_t e3DModeChangeSt = DISP_3D_STATUS_RESET;
- UINT32 u32Mode = 0;
- MID_DISP_DTVGet3DModeChangeSt(&e3DModeChangeSt);
- if (DISP_3D_STATUS_RESET == e3DModeChangeSt)
- {
- APP_GUIOBJ_3DMenu_GetMode(&u32Mode);
- if(bSet3DMode == DTV_TRUE)
- {
- bSet3DMode = DTV_FALSE;
- }
- else
- {
- switch(u32Mode)
- {
- case TV_IDS_String_3DMODE_OFF:
- case TV_IDS_String_3DMODE_AUTO:
- case TV_IDS_String_3DMODE_2D23D:
- case TV_IDS_String_3DMODE_SBS3D:
- case TV_IDS_String_3DMODE_SBSH3D:
- case TV_IDS_String_3DMODE_TAB3D:
- case TV_IDS_String_3DMODE_FP3D:
- u32Mode = SPAL_PQ_3DMODE_OFF;
- break;
- default:
- u32Mode = SPAL_PQ_3DMODE_OFF;
- break;
- }
- //APP_GUIOBJ_3DMenu_SetMode(u32Mode);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE, 0,
- sizeof(APP_SETTING_Picture_t), &(g_stPictureData));
- g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D = u32Mode;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE,
- ITEM_OFFSET(APP_SETTING_Picture_t, stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D),
- sizeof(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D),
- &(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE,
- ITEM_OFFSET(APP_SETTING_Picture_t, stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D),
- sizeof(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D));
- }
- }
- else if (DISP_3D_STATUS_ALWAYS_ON == e3DModeChangeSt)
- {
- APP_GUIOBJ_3DMenu_GetMode(&u32Mode);
- if(value == TV_IDS_String_On)
- {
- //set 3D mode to Off
- // _APP_GUIOBJ_3DMenu_SetForce2DAnother(TV_IDS_String_On);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE, 0,
- sizeof(APP_SETTING_Picture_t), &(g_stPictureData));
- g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Force2D= SPAL_PQ_3DForce2D_ON;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE,
- ITEM_OFFSET(APP_SETTING_Picture_t, stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Force2D),
- sizeof(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Force2D),
- &(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Force2D));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE,
- ITEM_OFFSET(APP_SETTING_Picture_t, stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Force2D),
- sizeof(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Force2D));
- }
- else
- {
- //dvb_printf("\n\n\n\n@@@@@@DTV No signal Always On\n\n\n");
- switch(u32Mode)
- {
- case TV_IDS_String_3DMODE_OFF:
- u32Mode = SPAL_PQ_3DMODE_OFF;
- break;
- case TV_IDS_String_3DMODE_AUTO:
- u32Mode = SPAL_PQ_3DMODE_ATUO;
- break;
- case TV_IDS_String_3DMODE_2D23D:
- u32Mode = SPAL_PQ_3DMODE_2D3D;
- break;
- case TV_IDS_String_3DMODE_SBS3D:
- u32Mode = SPAL_PQ_3DMODE_SBS3D;
- break;
- case TV_IDS_String_3DMODE_TAB3D:
- u32Mode = SPAL_PQ_3DMODE_TAB3D;
- break;
- case TV_IDS_String_3DMODE_FP3D:
- u32Mode = SPAL_PQ_3DMODE_FP3D;
- break;
- default:
- u32Mode = SPAL_PQ_3DMODE_ATUO;
- break;
- }
- //APP_GUIOBJ_3DMenu_SetMode(u32Mode);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE, 0,
- sizeof(APP_SETTING_Picture_t), &(g_stPictureData));
- g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D = u32Mode;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE,
- ITEM_OFFSET(APP_SETTING_Picture_t, stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D),
- sizeof(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D),
- &(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE,
- ITEM_OFFSET(APP_SETTING_Picture_t, stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D),
- sizeof(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D));
- }
- }
- else if(DISP_3D_STATUS_ONLY_2D3D_ALWAYS_ON == e3DModeChangeSt)
- {
- APP_GUIOBJ_3DMenu_GetMode(&u32Mode);
- if(value == TV_IDS_String_On)
- {
- //set 3D mode to Off
- //_APP_GUIOBJ_3DMenu_SetForce2DAnother(TV_IDS_String_On);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE, 0,
- sizeof(APP_SETTING_Picture_t), &(g_stPictureData));
- g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Force2D= SPAL_PQ_3DForce2D_ON;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE,
- ITEM_OFFSET(APP_SETTING_Picture_t, stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Force2D),
- sizeof(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Force2D),
- &(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Force2D));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE,
- ITEM_OFFSET(APP_SETTING_Picture_t, stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Force2D),
- sizeof(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Force2D));
- }
- else if(u32Mode != TV_IDS_String_3DMODE_2D23D)
- {
- //APP_GUIOBJ_3DMenu_SetMode(TV_IDS_String_3DMODE_OFF);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE, 0,
- sizeof(APP_SETTING_Picture_t), &(g_stPictureData));
- g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D = SPAL_PQ_3DMODE_OFF;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE,
- ITEM_OFFSET(APP_SETTING_Picture_t, stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D),
- sizeof(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D),
- &(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE,
- ITEM_OFFSET(APP_SETTING_Picture_t, stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D),
- sizeof(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D));
- }
- else
- {
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE, 0,
- sizeof(APP_SETTING_Picture_t), &(g_stPictureData));
- g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D = SPAL_PQ_3DMODE_2D3D;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE,
- ITEM_OFFSET(APP_SETTING_Picture_t, stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D),
- sizeof(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D),
- &(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE,
- ITEM_OFFSET(APP_SETTING_Picture_t, stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D),
- sizeof(g_stPictureData.stPictureModeSourceTab[eStorageSourTypeT].st3DMenu.Mode3D));
- }
- }
- #endif
- }
- }
- }
- #ifdef CONFIG_SUPPORT_PVR
- /*< modify by kai.wang*/
- //MID_RecorderSetSignalEx(PRIMARY_REC_UNIT, MID_REC_SIGNAL_BAD);
- if (u8MidRecState == MID_REC_STATUS_START)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- //if (APP_Area_SupportDtg())
- if(APP_Get_DTVHiddenScanState()!=TRUE)
- {
- AL_DB_EDBType_t eDBType = APP_DVB_Playback_GetCurrentNetType();
- AL_RecHandle_t hCurrProgHdl = APP_DVB_Playback_GetCurrentProgHandle(eDBType, (AL_RECTYPE_DVBTV|AL_RECTYPE_DVBRADIO|AL_RECTYPE_DVBDATA));
- AL_PSI_Monitor_Stop(FALSE, FALSE);
- if (hCurrProgHdl != AL_DB_INVALIDHDL)
- {
- AL_PSI_Monitor_Start(hCurrProgHdl, FALSE);
- }
- }
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- #ifdef CONFIG_SUPPORT_SUBTITLE
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if (g_stUserInfoData.Subtitle == APP_SWITCH_ON)
- {
- #ifdef CONFIG_DTV_SUPPORT
- AL_Subtitle_Type_t SubtitleType = AL_SUBTITLE_TYPE_MAX;
- if (APP_GUIOBJ_SubTitle_GetType(&SubtitleType) == TRUE)
- {
- AL_Subtitle_SetFreeze(FALSE);
- }
- #endif
- }
- #endif
- }
- #ifdef CONFIG_SUPPORT_TTX
- #ifndef CONFIG_SUPPORT_TTX_DISP_FOR_AUS
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TTX);
- }
- AL_TTX_Reset();
- #else
- APP_SetTTXTimer(80);//8s
- #endif
- #endif
- if (stDvbInst.bAppState != SYSTEM_RUNNING)
- {
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MULTIAUD))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MULTIAUD);
- }
- #ifdef CONFIG_SUPPORT_SUBTITLE
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU);
- }
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_RECDURATIONTIME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_RECDURATIONTIME);
- }
- #endif
- if (APP_RF_TYPE_DVB_S == g_stChannelData.TV_Connection)
- {
- DVBApp_CheckProgramType(FALSE);
- }
- else
- {
- DVBApp_CheckProgramType(TRUE);
- }
- #ifdef AC_ON_AUTO_GET_TIME
- if (g_fBackgroundGetTime == TRUE)
- {
- APP_WAKEUP_SetBootFlag(FALSE);
- dvb_printf("\n ----- tuner unlock, back ground get time fail!!!\n");
- MAINAPP_SendGlobalEvent(UI_EVENT_POWER, AL_POWER_STATE_OFF);
- }
- #endif
- break;
- case FW_EPG_NOWNEXT_UPDATE_EVENT:
- g_bForceProcessEventCbk = FALSE;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if(g_stFeatureData.ChildLock)
- {
- #if 0
- //add for 0196870
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPG))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- }
- #endif
- AL_Event_t event_hd = (AL_Event_t)dParam;
- al_uint8 bSignalState = al_false;
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (bSignalState == AL_DVB_MONITOR_VALUE_TRUE && event_hd)
- {
- UINT8 rating = 0;
- AL_RecHandle_t hCurrProgHdl = AL_DB_INVALIDHDL;
- al_uint16 usServiceId = 0xffff;
- al_uint16 usOrigNetId = 0xffff;
- al_uint16 usTsId = 0xffff;
- AL_Event_Details_t event_cur;
- memset(&event_cur, 0, sizeof(AL_Event_Details_t));
- MID_PlaybackGetCurProgHandle(al_null, &hCurrProgHdl);
- AL_DB_QueryDetailFieldByName(hCurrProgHdl, (al_uint8 *)"usServiceId", (al_void *)&usServiceId);
- AL_DB_QueryDetailFieldByName(hCurrProgHdl, (al_uint8 *)"usOrigNetId", (al_void *)&usOrigNetId);
- AL_DB_QueryDetailFieldByName(hCurrProgHdl, (al_uint8 *)"usTsId", (al_void *)&usTsId);
- AL_Event_GetCurrNextEventsForCurrRating(eNetType, usOrigNetId, usTsId, usServiceId, &event_cur, NULL);
- rating = event_cur.event_rating;
- APP_DVB_ParentalLock_GetValidParentalRating(&rating);
- if(APP_DVB_ParentalLock_CheckPrtRating(&rating) && !APP_DVB_Playback_IsUnlock())
- {
- APP_DVB_Playback_SetUnlock(al_false);
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- #ifndef PLAY_VIDEO_FOR_ALLSRV
- if (eServiceType == AL_RECTYPE_DVBRADIO)
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_STOP_PLAYBACK,
- ( PLAYBACK_STOP_MHEG5 | PLAYBACK_KEEP_FRAMEBUF));
- }
- else
- #endif
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_STOP_PLAYBACK,
- (PLAYBACK_STOP_SUBTITLE|PLAYBACK_STOP_MHEG5));
- }
- /*#ifdef SUPPORT_PVR
- if (MID_REC_STATUS_STOP != u8MidRecState)
- {
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- #ifdef SUPPORT_SPEC_PVR_RECORD// TEAC allow record while the program locked, however the others did not
- if (DVBAPP_Pvr_GetRECPlayFlag() == TRUE)
- {
- DVBApp_StopTimeshift(FALSE);
- }
- #else
- DVBApp_StopRecord();
- #endif
- }
- else
- {
- #ifdef SUPPORT_SPEC_PVR_RECORD// TEAC allow record while the program locked, however the others did not
- DVBApp_StopTimeshift(FALSE);
- #else
- DVBApp_StopTimeshift(TRUE);
- #endif
- }
- }
- #endif*/
- if (!APP_MenuMgr_Exist_Main_Menu())
- {
- UINT32 u32PopMsgDialogType = POPMSG_PROMPT_NO_PROG;
- APP_GUIOBJ_PopMsg_GetMsgDialogType(&u32PopMsgDialogType);
- if((DVBApp_IsPopupExist(PLAYBACK_POPUP_PWD_LOCKED) == FALSE)
- /*#ifdef SUPPORT_PVR
- && (u32PopMsgDialogType != POPMSG_PROMPT_INITIAL_AUTOTIMESHIFT)
- && (u32PopMsgDialogType != POPMSG_PROMPT_INITIAL_REC)
- && (u32PopMsgDialogType != POPMSG_PROMPT_INITIAL_TIMESHIFT)
- #endif*/
- )
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CHECKPWD);
- }
- }
- }
- }
- }
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPGEXTEND))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, DVB_GUIOBJ_EPGEXTEND,
- FW_EPG_NOWNEXT_UPDATE_EVENT, 0);
- }
- else if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPG))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, DVB_GUIOBJ_EPG,
- FW_EPG_NOWNEXT_UPDATE_EVENT, 0);
- }
- else if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, DVB_GUIOBJ_PROGINFO,
- FW_EPG_NOWNEXT_UPDATE_EVENT, 0);
- }
- break;
- case FW_MONITOR_STREAM_NO_DATA:
- dvb_printf(" FW_MONITOR_STREAM_NO_DATA event received\n");
- g_UnsupportVideo = FALSE;
- /* reset set unmute flag */
- g_bNoSteamData = TRUE;
- bSetUnMuteFlag = FALSE;
- g_bMidHasUnmute = FALSE;
- g_SetPQFlag = FALSE;
- #ifdef SUPPORT_DTV_SHOW_BLUESCREEN
- g_bIsBlueScreen = FALSE;
- #endif
- #ifdef DEMUX_CONTROL_TEST
- #ifdef CONFIG_CIPLUS_SUPPORT
- APP_DVB_CI_ClearTuneInfo();
- #endif
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- APP_GUIOBJ_DVB_PvrPlayInfo_SetTunerState(FALSE);
- #endif
- /* add by qin.he on 2014/07/22 for mantis 23864 */
- if(APP_Get_DTVHiddenScanState()!=TRUE)
- {
- AL_DB_EDBType_t eDBType = APP_DVB_Playback_GetCurrentNetType();
- AL_RecHandle_t hCurrProgHdl = APP_DVB_Playback_GetCurrentProgHandle(eDBType, (AL_RECTYPE_DVBTV|AL_RECTYPE_DVBRADIO|AL_RECTYPE_DVBDATA));
- AL_PSI_Monitor_Stop(FALSE, FALSE);
- if (hCurrProgHdl != AL_DB_INVALIDHDL)
- {
- AL_PSI_Monitor_Start(hCurrProgHdl, FALSE);
- }
- }
- if(DVBApp_IsPopupExist(PLAYBACK_POPUP_PWD_LOCKED) == TRUE)
- {
- break;
- }
- #ifdef CONFIG_SUPPORT_MHEG5
- if ((APP_Area_SupportDtg())
- && (APP_DVB_Mheg5_GetBootCarouselStatus() != MHEG5_BOOT_CAROUSEL_NOT_EXISTED))
- {
- break;
- }
- else
- #endif
- #ifdef CONFIG_CIPLUS_SUPPORT
- if (MID_DTVCI_GetAppMMIStatus())
- {
- break;
- }
- else
- #endif
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState == MID_REC_STATUS_START)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- #ifdef CONFIG_SUPPORT_SUBTITLE
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if (g_stUserInfoData.Subtitle == APP_SWITCH_ON)
- {
- #ifdef CONFIG_DTV_SUPPORT
- AL_Subtitle_Type_t SubtitleType = AL_SUBTITLE_TYPE_MAX;
- if (APP_GUIOBJ_SubTitle_GetType(&SubtitleType) == TRUE)
- {
- AL_Subtitle_SetFreeze(FALSE);
- }
- #endif
- }
- #endif
- }
- DVBApp_CheckProgramType(TRUE);
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_ALL);
- }
- break;
- case FW_MONITOR_STREAM_UNSUPPORT_DATA:
- g_UnsupportVideo = TRUE;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- if (g_stUserInfoData.Mute == FALSE)
- {
- APP_Audio_SetMute(FALSE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- #ifdef CONFIG_SUPPORT_PVR
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- dvb_printf("===lxl test %s ,%d is called. now PVR is playing ===\n", __FUNCTION__,__LINE__);
- break;
- }
- APP_GUIOBJ_DVB_PvrPlayInfo_SetTunerState(FALSE);
- #endif
- g_bNoSteamData = FALSE;
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState == MID_REC_STATUS_START)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- DVBApp_CheckProgramType(TRUE);
- #ifndef PLAY_VIDEO_FOR_ALLSRV
- if (eServiceType == AL_RECTYPE_DVBRADIO)
- {
- //DVBApp_CheckProgramType(TRUE);
- }
- else
- #endif
- {
- MID_PlaybackProgState_t eProgState = MID_PLAYBK_PROG_STATE_NORMAL;
- hCurrProgHandle = APP_DVB_Playback_GetCurrentProgHandle(eNetType,
- (AL_RECTYPE_DVBTV |AL_RECTYPE_DVBRADIO | AL_RECTYPE_DVBDATA));
- eProgState = APP_DVB_Playback_GetProgStateByHandle(eNetType, hCurrProgHandle);
- if (eProgState != MID_PLAYBK_PROG_STATE_LOCKED)
- {
- APP_Video_SetMute(FALSE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- }
- if (DVBApp_GetScrambleStatus() == PROG_STATUS_SCRAMBLE_CLEAR)
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- if (APP_Area_SupportDtg())
- {
- printf("\n [set mheg5 flag] FW_MONITOR_STREAM_HAS_DATA@@@@@@@@@@@@@dvb_app.c@@@@@@@@@@@@line=%d\n",__LINE__);
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_FORCE|OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5|OSD2CTRLMDL_SUB);
- }
- else
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- }
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- }
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- if(DVBApp_GetReciveEWS())
- {
- DVBApp_SetReciveEWS(FALSE);
- SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_DVB, FW_INDONESIA_EWS_UPDATE|PASS_TO_SYSAPP, 0);
- }
- #endif
- break;
- case FW_MONITOR_STREAM_INVALID_DATA:
- g_UnsupportVideo = FALSE;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- #ifdef CONFIG_SUPPORT_PVR
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- if (APP_WAKEUP_GetBootFlag() == TRUE)
- {
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_STATEMAX, APP_SOURCE_MAX);
- }
- else
- #endif
- #endif
- {
-
- if (g_stUserInfoData.Mute == FALSE)
- {
- APP_Audio_SetMute(FALSE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- }
- case FW_MONITOR_STREAM_HAS_DATA:
- g_UnsupportVideo = FALSE;
- dvb_printf(" FW_MONITOR_STREAM_HAS_DATA event received\n");
- #ifdef CONFIG_SUPPORT_PVR
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- dvb_printf("===lxl test %s ,%d is called. now PVR is playing ===\n", __FUNCTION__,__LINE__);
- break;
- }
- if (dMessage == FW_MONITOR_STREAM_INVALID_DATA)
- {
- APP_GUIOBJ_DVB_PvrPlayInfo_SetTunerState(FALSE);
- }
- else if (dMessage == FW_MONITOR_STREAM_HAS_DATA)
- {
- APP_GUIOBJ_DVB_PvrPlayInfo_SetTunerState(TRUE);
- }
- #ifdef CONFIG_CHIP_512L
- {
- UINT32 dMsgType = 0;
- APP_GUIOBJ_PopMsg_GetMsgDialogType(&dMsgType);
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG) && (dMsgType == POPMSG_PROMPT_PLEASEWAIT))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- }
- #endif
- #endif
- g_bNoSteamData = FALSE;
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState == MID_REC_STATUS_PAUSE && g_bIsPlaykey == FALSE)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- DVBApp_CheckProgramType(TRUE);
- #ifndef PLAY_VIDEO_FOR_ALLSRV
- if (eServiceType == AL_RECTYPE_DVBRADIO)
- {
- //DVBApp_CheckProgramType(TRUE);
- }
- else
- #endif
- {
- MID_PlaybackProgState_t eProgState = MID_PLAYBK_PROG_STATE_NORMAL;
- hCurrProgHandle = APP_DVB_Playback_GetCurrentProgHandle(eNetType,
- (AL_RECTYPE_DVBTV |AL_RECTYPE_DVBRADIO | AL_RECTYPE_DVBDATA));
- eProgState = APP_DVB_Playback_GetProgStateByHandle(eNetType, hCurrProgHandle);
- if (eProgState != MID_PLAYBK_PROG_STATE_LOCKED)
- {
- APP_Video_SetMute(FALSE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- }
- if (DVBApp_GetScrambleStatus() == PROG_STATUS_SCRAMBLE_CLEAR)
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- if (APP_Area_SupportDtg())
- {
- printf("\n [set mheg5 flag] FW_MONITOR_STREAM_HAS_DATA@@@@@@@@@@@@@dvb_app.c@@@@@@@@@@@@line=%d\n",__LINE__);
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_FORCE|OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5|OSD2CTRLMDL_SUB);
- }
- else
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- }
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- }
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- if(DVBApp_GetReciveEWS())
- {
- DVBApp_SetReciveEWS(FALSE);
- SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_DVB, FW_INDONESIA_EWS_UPDATE|PASS_TO_SYSAPP, 0);
- }
- #endif
- break;
- case FW_MONITOR_PARENTAL_LOCKED:
- dvb_printf("FW_MONITOR_PARENTAL_LOCKED received!!\n");
- APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- #ifdef SUPPORT_DTV_SHOW_BLUESCREEN
- g_bIsBlueScreen = FALSE;
- #endif
- g_bMidHasUnmute = FALSE;
- if (APP_GUIOBJ_DVB_Playback_GetPlayState() == TRUE)
- {
- #ifdef CONFIG_SUPPORT_TTX
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TTX);
- }
- #endif
- APP_DVB_ParentalLock_SetPrtRatinglock(TRUE);
- #ifndef PLAY_VIDEO_FOR_ALLSRV
- if (eServiceType == AL_RECTYPE_DVBRADIO )
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- (APP_DVB_GLOBAL_EVENT_STOP_PLAYBACK|PASS_TO_SYSAPP),
- ( PLAYBACK_STOP_MHEG5 | PLAYBACK_KEEP_FRAMEBUF ));
- }
- else
- #endif
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- (APP_DVB_GLOBAL_EVENT_STOP_PLAYBACK|PASS_TO_SYSAPP),
- ( PLAYBACK_STOP_SUBTITLE |PLAYBACK_STOP_MHEG5 ));
- }
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_REC_STATUS_STOP != u8MidRecState)
- {
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- #ifdef SUPPORT_SPEC_PVR_RECORD// TEAC allow record while the program locked, however the others did not
- if (DVBAPP_Pvr_GetRECPlayFlag() == TRUE)
- {
- DVBApp_StopTimeshift(FALSE);
- }
- #else
- DVBApp_StopRecord();
- #endif
- }
- else
- {
- #ifdef SUPPORT_SPEC_PVR_RECORD//TEAC allow record while the program locked, however the others did not
- DVBApp_StopTimeshift(FALSE);
- #else
- DVBApp_StopTimeshift(TRUE);
- #endif
- }
- }
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState == MID_REC_STATUS_START)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- #endif
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- #ifdef CONFIG_SUPPORT_SUBTITLE
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if (g_stUserInfoData.Subtitle == APP_SWITCH_ON)
- {
- #ifdef CONFIG_DTV_SUPPORT
- AL_Subtitle_Type_t SubtitleType = AL_SUBTITLE_TYPE_MAX;
- if (APP_GUIOBJ_SubTitle_GetType(&SubtitleType) == TRUE)
- {
- AL_Subtitle_SetFreeze(FALSE);
- }
- #endif
- }
- #endif
- }
- DVBApp_CheckProgramType(TRUE);
- }
- break;
- case FW_MONITOR_PARENTAL_UNLOCKED:
- dvb_printf("FW_MONITOR_PARENTAL_UNLOCKED is received!!\n");
- g_SetPQFlag = TRUE;
- APP_DVB_ParentalLock_SetPrtRatinglock(FALSE);
- if (APP_GUIOBJ_DVB_Playback_GetPlayState() == FALSE)
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK,
- APP_DVB_INTRA_EVENT_START_PLAYBACK, 0);
- }
- DVBApp_CheckProgramType(TRUE);
- #ifdef CONFIG_SUPPORT_MHEG5
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_FORCE|OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5 | OSD2CTRLMDL_SUB);
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState == MID_REC_STATUS_PAUSE && g_bIsPlaykey == FALSE)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- break;
- case FW_MONITOR_SERVICE_ONLY_AUDIO_SCRAMBLE:
- dvb_printf("FW_MONITOR_SERVICE_ONLY_AUDIO_SCRAMBLE is received!!\n");
- g_bScrambleFlag = PROG_STATUS_ONLY_AUDIO_SCRAMBLED;
- g_bNoSteamData = FALSE;
- DVBApp_CheckProgramType(TRUE);
- break;
- case FW_MONITOR_SERVICE_ONLY_VIDEO_SCRAMBLE:
- g_UnsupportVideo = FALSE;
- #ifdef CONFIG_CI_SUPPORT
- if (IsCAMExist()==FALSE)
- {
- printf("\n\n\nFW_MONITOR_SERVICE_ONLY_VIDEO_SCRAMBLE is received!!,No CAM Inserted!\n\n");
- g_bNoSteamData = FALSE;
- {
- #ifdef CONFIG_SUPPORT_TTX
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TTX);
- }
- #endif
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_ALL);
- }
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState == MID_REC_STATUS_START)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- g_bScrambleFlag = PROG_STATUS_ONLY_VIDEO_SCRAMBLED;
- DVBApp_CheckProgramType(TRUE);
- }
- else
- {
- printf("\n\n\n\nYibin.wang F=%s,L=%d==============================\n\n\n\n",__FUNCTION__,__LINE__);
- printf("\n\n\nFW_MONITOR_SERVICE_ONLY_VIDEO_SCRAMBLE is received!!,CAM Inserted,Waiting 1sec!\n\n");
- g_Audio_Scramble_Counter = AUDIO_SCRAMBLE_COUNT;
- }
- #endif //CONFIG_CI_SUPPORT
- break;
- case FW_MONITOR_SERVICE_VIDEO_AUDIO_SCRAMBLE:
- printf("\n\n\nFW_MONITOR_SERVICE_VIDEO_AUDIO_SCRAMBLE is received!!\n\n");
- g_bNoSteamData = FALSE;
- g_UnsupportVideo = FALSE;
- {
- #ifdef CONFIG_SUPPORT_TTX
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TTX);
- }
- #endif
- #ifdef CONFIG_CIPLUS_SUPPORT
- if( (APP_DVB_CI_GetTuneInfo() & CIPLUS_TUNEINFO_NON_DESTRUCTIVE)!=0 || MID_DTVCI_GetAppMMIStatus() )
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_SUB|OSD2CTRLMDL_TTX);
- else
- #endif
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_ALL);
- }
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState == MID_REC_STATUS_START)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- g_bScrambleFlag = PROG_STATUS_AUDIO_VIDEO_SCRAMBLED;
- DVBApp_CheckProgramType(TRUE);
- break;
- case FW_MONITOR_SERVICE_NO_SCRAMBLE:
- printf("\n\n\nFW_MONITOR_SERVICE_NO_SCRAMBLE is received!!\n\n");
- #ifdef CONFIG_CIPLUS_SUPPORT
- if (APP_CIPLUS_IsProfileSource())
- {
- if (g_isMute)
- {
- break;
- }
- }
- #endif
- #ifdef CONFIG_CI_SUPPORT
- if (g_Audio_Scramble_Counter!=0)
- {
- g_VIP_FINISH_Flg = TRUE;
- g_Audio_Scramble_Counter = 0;
- }
- #if 1
- else
- {
- if (g_VIP_FINISH_Flg==TRUE)
- {
- g_VIP_FINISH_Flg = FALSE;
- }
- }
- #endif
- #endif
- g_bNoSteamData = FALSE;
- g_bScrambleFlag = PROG_STATUS_SCRAMBLE_CLEAR;
- DVBApp_CheckProgramType(TRUE);
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState == MID_REC_STATUS_PAUSE && g_bIsPlaykey == FALSE)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- /*add by xm.zeng on 2013/9/23.
- sometimes the video is freezed, subtitle is updated.*/
- if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- printf("\n [set mheg5 flag] FW_MONITOR_SERVICE_NO_SCRAMBLE@@@@@@@@@@@@@dvb_app.c@@@@@@@@@@@@line=%d\n",__LINE__);
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_FORCE|OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5|OSD2CTRLMDL_SUB);
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- }
- break;
- case FW_MONITOR_AUDIO_UPDATE:
- dvb_printf("FW_MONITOR_AUDIO_UPDATE is received!!\n");
- APP_GUIOBJ_DVB_MultiAud_DisableListUpdate();
- APP_GUIOBJ_DVB_MultiAud_Update(MULTIAUDIO_UPDATE);
- #ifdef CONFIG_SUPPORT_PVR
- if (APP_GUIOBJ_DVB_PvrRec_PidRemap() != PVR_MSG_SUCCESS)
- {
- dvb_printf("\n MultiAud_Update to remap pid fail!!!\n");
- }
- #endif
- DVBApp_CheckProgramType(TRUE);
- break;
- case FW_MONITOR_TELETEXT_UPDATE:
- dvb_printf("FW_MONITOR_TELETEXT_UPDATE is received !!\n\n");
- #if (defined CONFIG_MOD_PACK_SUB) || (defined CONFIG_MOD_PACK_TT)
- if (umf_checkModuleLoaded(UMFMOD_TT) == 0)
- {
- printf("\n[%s, %d] TT module unload\n",__FUNCTION__,__LINE__);
- break;
- }
- #endif
- #ifdef CONFIG_SUPPORT_TTX
- eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- #ifndef PLAY_VIDEO_FOR_ALLSRV
- if(eSourType != APP_SOURCE_DTV || eServiceType == AL_RECTYPE_DVBRADIO)
- {
- break;
- }
- else
- #endif
- {
- /**< get digital TTX language index from EEPROM */
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE,
- ITEM_OFFSET(APP_SETTING_Feature_t, DigitalTTLang),
- sizeof(g_stFeatureData.DigitalTTLang),&(g_stFeatureData.DigitalTTLang));
- pref_iso639 = APP_Language_GetISO639ByIndx(g_stFeatureData.DigitalTTLang, APP_DATA_LANG_TYPE_TELETEXT);
- if(pref_iso639 == al_null)
- {
- pref_iso639 = APP_Language_GetISO639_2ByIndx(g_stFeatureData.DigitalTTLang, APP_DATA_LANG_TYPE_TELETEXT);
- }
- if((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX)))
- {
- break;
- }
- if(AL_TTX_Stop() == AL_SUCCESS)
- {
- AL_TTX_Start(AL_TTX_SOURCE_TYPE_DIGITAL, pref_iso639);
- }
- #ifdef CONFIG_SUPPORT_SUBTITLE
- /**< get current subtitle on/off status from EEPROM */
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- if(g_stUserInfoData.Subtitle == 1)
- {
- MID_PlaybackProgState_t progstate = MID_PLAYBK_PROG_STATE_REPLACE;
- progstate = APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL);
- /*add by xm.zeng on 2013/8/22 for mantis id:0011461*/
- if((progstate != MID_PLAYBK_PROG_STATE_NORMAL)
- && (progstate != MID_PLAYBK_PROG_STATE_VIDEO_AVC)
- && (progstate != MID_PLAYBK_PROG_STATE_VIDEO_MPEG4))
- {
- break;
- }
- if(!(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX)))
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE|OSD2CTRLMDL_SUB);
- }
- }
- #endif
- }
- #endif
- break;
- case FW_MONITOR_SUBTITLE_UPDATE:
- dvb_printf(" FW_MONITOR_SUBTITLE_UPDATE is received !!\n\n");
- #ifdef CONFIG_SUPPORT_SUBTITLE
- #ifdef CONFIG_MOD_PACK_SUB
- if (umf_checkModuleLoaded(UMFMOD_SUB) == 0)
- {
- printf("\n[%s, %d] subtitle module unload\n",__FUNCTION__,__LINE__);
- break;
- }
- #endif
- eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- #ifndef PLAY_VIDEO_FOR_ALLSRV
- if(eSourType != APP_SOURCE_DTV || eServiceType == AL_RECTYPE_DVBRADIO)
- {
- break;
- }
- else
- #endif
- {
- /**< get current subtitle on/off status from EEPROM */
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- if(g_stUserInfoData.Subtitle == 1)
- {
- MID_PlaybackProgState_t progstate = MID_PLAYBK_PROG_STATE_REPLACE;
- progstate = APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL);
- /*add by xm.zeng on 2013/8/22 for mantis id:0011461*/
- if((progstate != MID_PLAYBK_PROG_STATE_NORMAL)
- && (progstate != MID_PLAYBK_PROG_STATE_VIDEO_AVC)
- && (progstate != MID_PLAYBK_PROG_STATE_VIDEO_MPEG4))
- {
- break;
- }
- #ifdef CONFIG_SUPPORT_TTX
- if(!(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX)))
- #endif
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE|OSD2CTRLMDL_SUB);
- }
- }
- }
- #endif
- break;
- case APP_DVB_GLOBAL_EVENT_OSD2_UPDATE:
- dvb_printf("APP_DVB_GLOBAL_EVENT_OSD2_UPDATE is received!!\n\n");
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (bSignalState != AL_DVB_MONITOR_VALUE_TRUE)//force to tuner locked
- {
- al_uint8 u8DVBMonState = AL_DVB_MONITOR_VALUE_TRUE;
- AL_DVB_Monitor_SetState(AL_DVB_MONITOR_STATE_SIGNAL, &u8DVBMonState);
- }
- #ifdef CONFIG_SUPPORT_PVR
- if ((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC))
- || (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO)))
- {
- break;
- }
- #endif
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_FORCE | OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5 | OSD2CTRLMDL_SUB);
- break;
- //zhongbaoxing added for mantis 0164871 @20120105 +++
- #ifdef CONFIG_SUPPORT_MHEG5
- case APP_DVB_GLOBAL_EVENT_CLEAR_POPUP:
- if (TRUE == APP_DVB_Mheg5_GetMheg5DisplayStatus())
- {
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (bSignalState != AL_DVB_MONITOR_VALUE_TRUE)//force to tuner locked
- {
- al_uint8 DVBMonState = AL_DVB_MONITOR_VALUE_TRUE;
- AL_DVB_Monitor_SetState(AL_DVB_MONITOR_STATE_SIGNAL, &DVBMonState);
- }
- }
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_TEMPSERVICE, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_TEMPSERVICE_SERVICE_NOT_RUNNING, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_TEMPSERVICE_LOAD_MHEG5, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_SERVICE_NOT_AVAILABLE, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_NO_SIGNAL, UI_EVENT_NULL);
- break;
- #endif
- #if defined(CONFIG_CIPLUS_SUPPORT) && defined(CONFIG_SUPPORT_MHEG5)
- case APP_DVB_GLOBAL_EVENT_CI_START_MHEG5:
- {
- dvb_printf("APP_DVB_GLOBAL_EVENT_CI_START_MHEG5\n");
- APP_DVB_Mheg5_SetMheg5DisplayStatus(TRUE);
- }
- break;
- case APP_DVB_GLOBAL_EVENT_CI_STOP_MHEG5:
- {
- dvb_printf("APP_DVB_GLOBAL_EVENT_CI_STOP_MHEG5\n");
- APP_SETTING_UserInfo_t stUserInfoData;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(stUserInfoData));
- /* Stop MHEG Engine if it's enabled */
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- #ifdef DEMUX_CONTROL_TEST
- #ifdef CONFIG_CIPLUS_SUPPORT
- APP_DVB_CI_ClearTuneInfo();
- #endif
- #endif
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_MH5);
- }
- /* Enable Subtitle if it was open */
- if (stUserInfoData.Subtitle)
- {
- dvb_printf("Turn on subtitle\n");
- DVBApp_DataApplicationSwitch(
- OSD2CTRLMDL_ENABLE|OSD2CTRLMDL_SUB);
- }
- /* Enable Subtitle OSD if is was disable */
- mid_sub_dtv_show(1);
- /* Reset variable */
- APP_DVB_Mheg5_SetMheg5DisplayStatus(FALSE);
- }
- break;
- case APP_DVB_GLOBAL_EVENT_SUPPRESS_MHEG_GRAPHICS:
- {
- dvb_printf("APP_DVB_GLOBAL_EVENT_SUPPRESS_MHEG_GRAPHICS\n");
- DVBApp_ApplyAppMMIDisplay();
- }
- break;
- case APP_DVB_GLOBAL_EVENT_SET_SUBTITLE_MODE:
- {
- dvb_printf("APP_DVB_GLOBAL_EVENT_SET_SUBTITLE_MODE\n");
- DVBApp_ApplyAppMMIDisplay();
- }
- break;
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- case FM_DTV_AUDIO_STARTED:
- case FM_DTV_AUDIO_SAMPLE_STOPPED:
- case FM_DTV_AUDIO_STOPPED:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, 0);
- }
- break;
- #endif
- case FW_MONITOR_SERTYPE_CHANGED:
- MID_PlaybackGetCurProgHandle(al_null, &hCurrProgHandle);
- if (hCurrProgHandle != AL_DB_INVALIDHDL)
- {
- AL_DB_ERecordType_t eSrvType = (AL_DB_ERecordType_t)dParam;
- APP_DVB_Playback_SetCurrServiceType(eNetType, eSrvType);
- APP_DVB_Playback_SetCurrentProgHandle(eNetType,eSrvType,hCurrProgHandle);
- }
- _DVBApp_SendServRefleshMsg();
- SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_DVB, FW_MONITOR_UPDATE_SERVICE,0);
- break;
- case FW_MONITOR_REMOVE_SERVICE:
- #ifdef SUPPORT_TURKY_NEW_CHNLIST
- if (AL_DBTYPE_DVB_S == eNetType)
- {
- break;
- }
- #endif
- //_DVBApp_ShowPopup(DVB_APP_POP_MSG_SERVICE_REMOVE);
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNMGR)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVMGR)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPG)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNRENAME)
- #ifdef CONFIG_SUPPORT_PVR
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TIMEREDIT)
- #endif
- )
- {
- if(DVBApp_GetUnstableState() == FALSE)
- {
- DVBApp_SetUnstableState(TRUE);
- }
- dvb_printf("Post Process The Unstable Services\n\n");
- break;
- }
- DVBApp_RemoveUnstableService();
- // here not break
- case FW_MONITOR_ADD_SERVICE:
- case FW_MONITOR_UPDATE_SERLCN:
- //_DVBApp_ShowPopup(DVB_APP_POP_MSG_NEW_SERVICE);
- #ifdef SUPPORT_LCN
- /* force process LCN if added service by PSI Monitor */
- #ifdef SUPPORT_DVBS_LCN
- if (eNetType == AL_DBTYPE_DVB_T || eNetType == AL_DBTYPE_DVB_C|| eNetType == AL_DBTYPE_DVB_S)
- #else
- if (eNetType == AL_DBTYPE_DVB_T || eNetType == AL_DBTYPE_DVB_C)
- #endif
- {
- DBLCNConfInfo_t *pLcnConf = AL_LCN_GetLCNConfChannel();
- LCN_PreJudgeLCN();
- LCN_QueryLCNConflict(pLcnConf);
- if (pLcnConf->ConfCount > 0)
- {
- LCN_AutoAssignConflictLCN();
- }
- LCN_PostJudgeLCN();
- }
- #endif
- APP_DVB_ChannelOrderChecking();
- APP_DVB_DataSavingToDB(eNetType);
- _DVBApp_SendServRefleshMsg();
- break;
- #ifdef SUPPORT_DYNAMIC_MULTIPLEXES
- case FW_MONITOR_OTHERTP_SERVICE_FOUND:
- {
- //UINT16 u16Num;
- //AL_PSI_Monitor_GetOtherTpServList(NULL,NULL,&u16Num);
- //_DVBApp_ShowPopup(DVB_APP_POP_MSG_OTH_TP_NEW_SERVICE);
- _DVBApp_NewServicesToDatabase();
- }
- break;
- #endif
- case FW_MONITOR_SERVICE_MOVE:
- _DVBApp_ServiceMove();
- break;
- case FW_MONITOR_REPLACE_SERVICE:
- {
- dvb_printf("[%s:%d] FW_MONITOR_REPLACE_SERVICE !!!!!!!!!!!!!\n",__FUNCTION__,__LINE__);
- AL_RecHandle_t hReplaceProg = AL_DB_INVALIDHDL;
- hReplaceProg = (AL_RecHandle_t)dParam;
- _DVBApp_Zapping(eServiceType, hReplaceProg, TRUE, FW_MONITOR_REPLACE_SERVICE, TRUE);
- }
- break;
- case FW_MONITOR_REPLACE_SIMULCASE_SERVICE:
- dvb_printf("[%s:%d] FW_MONITOR_REPLACE_SIMULCASE_SERVICE !!!!!!!!!!!!!\n",__FUNCTION__,__LINE__);
- _DVBApp_SimulcaseDispose(dParam);
- break;
- #ifdef SUPPORT_CHANGE_TS_DYNAMICALLY
- case FW_MONITOR_TS_CHANGED:
- dvb_printf("[%s:%d] FW_MONITOR_TS_CHANGED !!!!!!!!!!!!!!!!\n\n",__FUNCTION__,__LINE__);
- #ifdef CONFIG_CIPLUS_SUPPORT
- if (APP_CIPLUS_IsProfileSource())
- {
- dvb_printf("[%s:%d] Can't update channel in in Profile Source.\n\n",__FUNCTION__,__LINE__);
- break;
- }
- #endif
- #ifdef SUPPORT_TURKY_NEW_CHNLIST // SUPPORT_DYNAMIC_SRVUPDATE_S
- if (eNetType == AL_DBTYPE_DVB_S)
- {
- break;
- }
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- DVBApp_StopRecord();
- }
- else if ((MID_REC_MODE_TIMESHIFT_AFTER_REC == u8MIDRecMode) ||
- (MID_REC_MODE_AUTO == u8MIDRecMode))
- {
- DVBApp_StopTimeshift(TRUE);
- if (APP_PVR_TIMESHIFT_AUTO == u8AutoTimeShift)
- {
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- }
- }
- #endif
- #ifdef CONFIG_SUPPORT_SUBTITLE
- APP_GUIOBJ_SubTitle_SetType(AL_SUBTITLE_TYPE_MAX);
- #endif
- if(APP_Get_DTVHiddenScanState()!=TRUE)
- {
- if (APP_MenuMgr_Exist_Factory_Menu())
- {
- APP_MenuMgr_Exit_Factory_Menu();
- }
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- #ifdef CONFIG_DVB_SYSTEM
- if((g_stChannelData.Country == AREA_NORWAY) && ((dParam & 0xFFFF) != 0x2242))
- {
- dvb_printf("[%s:%d]no scan for ts change , county = %d, OriNetId = 0x%x \n",__FUNCTION__,__LINE__,g_stChannelData.Country,dParam);
- break;
- }
- #endif
- if(APP_Get_DTVTSChangeNeedScanState(dParam)!=TRUE)
- {
- dvb_printf("[%s:%d]no scan for ts change ,\n",__FUNCTION__,__LINE__);
- break;
- }
- APP_DTV_ScanProcess_TSChange();
- }
- break;
- #endif
- case FW_MONITOR_NEW_TSID:
- //case UI_EVENT_RED:
- /* pop up msg for user to start channel search */
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- #ifdef CONFIG_DVB_SYSTEM
- if (AREA_NORWAY == g_stChannelData.Country
- #ifdef SUPPORT_THAILAND_EVORA
- || AREA_THAILAND == g_stChannelData.Country
- #endif
- )
- {
- _DVBApp_Exit_All_Menu();
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_UPDATE_TSID);
- }
- #endif
- //SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK, FW_MONITOR_NEW_TSID, 0);
- break;
- case FW_MONITOR_TIME_UPDATE:
- {
- al_uint32 TimeInSec = 0;
- AL_Time_t time;
- memset(&time, 0, sizeof(time));
- AL_Time_MjdToYmd(AL_Time_GetRawMjd(),&time.Year, &time.Month, &time.Day);
- AL_Time_GetRawTime(&time.Hour, &time.Min, &time.Sec);
- AL_Time_DateToSecs(&time, &TimeInSec);
- tv_SetBaseTimetoSystem(TimeInSec);
- }
- #ifdef CONFIG_SUPPORT_PVR
- #ifdef SUB_CUSTOMER_Tianle
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST_FORTEAC))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST_FORTEAC,
- APP_GLOBAL_EVENT_REFRESH_DATA, 0);
- }
- #else
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST,
- APP_GLOBAL_EVENT_REFRESH_DATA, 0);
- }
- #endif
- #endif
- break;
- case FW_MONITOR_FIND_NEW_TPLIST:
- {
- /* got the freq list which need tune */
- dvb_printf("Receive Freq change msg from afw! dvb_app received message which notice PSI Monitor has found some new freqs which need tune!!!!!!\n");
- _DVBApp_Exit_All_Menu();
- APP_DTV_ScanSetFreqList(dParam);
- APP_GUIOBJ_ScanProcess_SetCurrentSearchMode(SEARCH_D_FULL_FREQ_LIST_MODE);
- APP_DTV_ScanProcess_Start(SEARCH_D_FULL_FREQ_LIST_MODE);
- }
- break;
- #ifdef SUPPORT_NETWORK_UPDATE_RESCAN
- case FW_MONITOR_UPDATE_NWK_STATIC:
- {
- _DVBApp_Exit_All_Menu();
- APP_DTV_ScanSetFreqList( dParam );
- #ifdef SUPPORT_NETWORK_UPDATE_RESCAN_NO_POPUP
- dvb_printf("Receive Freq change msg from afw! dvb_app received message which notice PSI Monitor has found some new freqs which need tune!!!!!!\n");
- AI_PSI_Monitor_UpdateCurrTpTSIDList();
- _DVBApp_ShowPopup( DVB_APP_POP_MSG_NETWORK_UPDATING );
- APP_GUIOBJ_ScanProcess_SetCurrentSearchMode(SEARCH_D_FULL_FREQ_LIST_MODE);
- #ifdef SUPPORT_CHANGE_TS_DYNAMICALLY
- if( APP_Get_DTVHiddenScanState() )
- {
- APP_ScanProcess_Stop();
- APP_SetSrcChgFlag( TRUE );
- while( !AL_CS_IsStop() )
- {
- if( APP_Get_DTVHiddenScanState() )
- break;
- else
- GL_TaskSleep(50);
- }
- APP_SetSrcChgFlag( FALSE );
- }
- #endif
- APP_DTV_ScanProcess_Start(SEARCH_D_FULL_FREQ_LIST_MODE);
- #else
- _DVBApp_ShowPopup( DVB_APP_POP_MSG_NETWORK_UPDATE_STATIC );
- #endif
- break;
- }
- #endif
- case APP_DVB_GLOBAL_EVENT_NO_SIGNAL:
- #ifdef CONFIG_QSD
- // TV doesn't need to show no signal osd for qsd chip test.
- return 0;
- #endif
- #ifdef CONFIG_CIPLUS_SUPPORT
- if( APP_CIPLUS_IsVirtualChannel(0) )
- return 0;
- #endif
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE | OSD2CTRLMDL_ALL);
- if (MID_PlaybackIsPauseState() == 0) // move to here for mantis 0158116
- {
- #ifndef SUPPORT_DTV_SHOW_BLUESCREEN
- //MID_PlaybackClearScreenNow();
- #endif
- }
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState == MID_REC_STATUS_START)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- #if 0
- if(APP_Get_DTVHiddenScanState()!=TRUE)
- {
- MID_PsiMonStop(FALSE);
- MID_PsiMonStart();
- }
- #else
- if(APP_Get_DTVHiddenScanState()!=TRUE)
- {
- AL_DB_EDBType_t eDBType = APP_DVB_Playback_GetCurrentNetType();
- AL_RecHandle_t hCurrProgHdl = APP_DVB_Playback_GetCurrentProgHandle(eDBType, (AL_RECTYPE_DVBTV|AL_RECTYPE_DVBRADIO|AL_RECTYPE_DVBDATA));
- AL_PSI_Monitor_Stop(al_false, al_false);
- if (hCurrProgHdl != AL_DB_INVALIDHDL)
- {
- AL_PSI_Monitor_Start(hCurrProgHdl, al_false);
- }
- }
- #endif
- /* if TT Menu exist, first close it */
- #ifdef CONFIG_SUPPORT_TTX
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TTX);
- }
- #endif
- if (stDvbInst.bAppState != SYSTEM_RUNNING)
- {
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- #ifdef CONFIG_SUPPORT_SUBTITLE
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU);
- }
- #endif
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- }
- #ifdef SUPPORT_DTV_SHOW_BLUESCREEN
- if (g_stSetupData.BlueScreen == APP_SWITCH_ON)
- {
- g_bIsBlueScreen = TRUE;
- }
- #endif
- DVBApp_CheckProgramType(TRUE);
- break;
- case APP_GLOBAL_EVENT_SET_UNMUTE:
- {
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- AL_DB_ERecordType_t eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- if (eServiceType == AL_RECTYPE_DVBRADIO || eServiceType == AL_RECTYPE_DVBDATA)
- {
- APP_Audio_SetMute(FALSE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- else
- {
- APP_Video_SetMute(FALSE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- break;
- }
- case FW_VIP_STATUS:
- {
- UINT8 RegionIdx = 0;
- ColorLUT_t stColorLUTValue;
- APP_Source_Type_t eSourType = APP_SOURCE_MAX;
- APP_StorageSource_Type_t eStorageSourType = APP_STORAGE_SOURCE_MAX;
- if (g_SetPQFlag == FALSE)
- {
- g_SetPQFlag = TRUE;
- /*set PQ param*/
- AL_FLASH_GetColorLUTALL(&stColorLUTValue);
- for(RegionIdx = 0; RegionIdx<APP_ColorLUT_NUM; RegionIdx++)
- {
- MID_TVFE_SetColorLUT7Range(RegionIdx,APP_Video_GetColorLUTSetting(LUT_FUN_MAKE,RegionIdx),
- stColorLUTValue.n_PicMode_CoLUT_HueMin[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_HueMax[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_SatMin[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_SatMax[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_YMin[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_YMax[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_SmoothLevel[RegionIdx],
- FALSE);
- MID_TVFE_SetColorLUT7Axis(RegionIdx,
- stColorLUTValue.n_PicMode_CoLUT_Enable[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_HueGain[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_SatGain[RegionIdx],
- stColorLUTValue.n_PicMode_CoLUT_YGain[RegionIdx],
- RegionIdx==(APP_ColorLUT_NUM - 1)? TRUE : FALSE);
- }
- // Dynamic contrast
- DynamicContrast_t stDynamic;
- AL_FLASH_GetDynamicContrastALL(&stDynamic);
- int nLevel = stDynamic.n_PicMode_DynCon_DynamicContrastlevel;
- MID_TVFE_SetPictureDynamicContrastEnable( nLevel ? 1 : 0);
- MID_TVFE_SetPictureContrastLevel( stDynamic.n_PicMode_DynCon_ContrastLevel[nLevel] );
- MID_TVFE_SetPictureChromaLevel( stDynamic.n_PicMode_DynCon_ChromaLevel[nLevel] );
- MID_TVFE_SetPictureAlphaMode1( stDynamic.n_PicMode_DynCon_Alphamode1[nLevel] );
- MID_TVFE_SetPictureAlphaMode2( stDynamic.n_PicMode_DynCon_Alphamode2[nLevel] );
- MID_TVFE_SetPictureAlphaMode3( stDynamic.n_PicMode_DynCon_Alphamode3[nLevel] );
- MID_TVFE_SetPictureAlphaMode4( stDynamic.n_PicMode_DynCon_Alphamode4[nLevel] );
- MID_TVFE_SetPictureFleshToneLevel( stDynamic.n_PicMode_DynCon_FleshToneLevel );
- APP_GUIOBJ_Source_GetCurrSource(&eSourType);
- eStorageSourType = APP_Data_UserSetting_SourceTypeMappingToStorage(eSourType);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE, 0,
- sizeof(APP_SETTING_Picture_t), &(g_stPictureData));
- APP_Video_SetPictureMode(
- g_stPictureData.stPictureModeSourceTab[eStorageSourType].PictureModeIndex);
- //APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_BACKLIGHT, g_stPictureData.stPictureModeSourceTab[eStorageSourType].stUserTab.Backlight);
- APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_COLORTEMP, g_stPictureData.stPictureModeSourceTab[eStorageSourType].ColorTempIndex);
- APP_Video_OSD_PQSet(APP_VIDEO_OSD_ITEM_NR, g_stPictureData.NR);
- }
- }
- break;
- case APP_DVB_GLOBAL_EVENT_SET_UNMUTE:
- dvb_printf(" APP_DVB_GLOBAL_EVENT_SET_UNMUTE event received\n");
- /* dtv, search all, when switch to scan analog, tvfe will send show snow525,
- * but current source is dtv, so FormatChangeCallback() will send this message,
- * judge here, when scan, do nothing, has side effect?
- */
- if (!AL_CS_IsStop())
- {
- break;
- }
- #if 0//shiting.liao mark for 0020236:stop mheg5 ts,first show "no signal",then program stop at last picture
- /* add by qinhe for signal present message received too late */
- {
- MID_PlaybackProgState_t progstate = MID_PLAYBK_PROG_STATE_NORMAL;
- progstate = APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL);
- if ((g_bNoSteamData == FALSE) && (progstate != MID_PLAYBK_PROG_STATE_TEMP_SERVICE)
- && (progstate != MID_PLAYBK_PROG_STATE_NOT_RUNNING))
- {
- al_uint8 uDVBMonState = AL_DVB_MONITOR_VALUE_TRUE;
- AL_DVB_Monitor_SetState(AL_DVB_MONITOR_STATE_SIGNAL, &uDVBMonState);
- }
- }
- #endif
- if ((APP_SOURCE_DTV == eMidSourType) || (APP_SOURCE_RADIO == eMidSourType))
- {
- g_bMidHasUnmute = TRUE;
- bSetUnMuteFlag = TRUE;
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- //MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- #ifdef CONFIG_SUPPORT_SUBTITLE
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if (g_stUserInfoData.Subtitle == APP_SWITCH_ON)
- {
- #ifdef CONFIG_DTV_SUPPORT
- AL_Subtitle_Type_t SubtitleType = AL_SUBTITLE_TYPE_MAX;
- if (APP_GUIOBJ_SubTitle_GetType(&SubtitleType) == TRUE)
- {
- AL_Subtitle_SetFreeze(FALSE);
- }
- #endif
- }
- #endif
- }
- DVBApp_CheckProgramType(TRUE);
- if(APP_SOURCE_DTV == eMidSourType)
- {
- #if defined(CONFIG_CIPLUS_SUPPORT) && defined(CONFIG_SUPPORT_MHEG5)
- DVBApp_ApplyAppMMIDisplay();
- #endif
- }
- }
- break;
- case APP_DVB_GLOBAL_EVENT_SERVICE_NOT_AVAILABLE_CLEAR:
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState == MID_REC_STATUS_PAUSE && g_bIsPlaykey == FALSE)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_SERVICE_NOT_AVAILABLE))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_SERVICE_NOT_AVAILABLE, UI_EVENT_NULL);
- }
- #ifdef CONFIG_SUPPORT_MHEG5
- if (APP_Area_SupportDtg())
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB | OSD2CTRLMDL_MH5);
- }
- else
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- }
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- DVBApp_CheckProgramType(TRUE);
- break;
- case APP_DVB_GLOBAL_EVENT_SERVICE_VIDEO_NOT_SUPPORT:
- case APP_DVB_GLOBAL_EVENT_SERVICE_VIDEO_NOT_SUPPORT_CLEAR:
- case APP_DVB_GLOBAL_EVENT_PARENTAL_LOCK:
- case APP_DVB_GLOBAL_EVENT_PARENTAL_LOCK_CLEAR:
- case APP_DVB_GLOBAL_EVENT_TEMP_SERVICE:
- case APP_DVB_GLOBAL_EVENT_TEMP_SERVICE_CLEAR:
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState == MID_REC_STATUS_START)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- if (g_bMidHasUnmute) //zhongbaoxing added for mantis 0150118 @20110905
- {
- DVBApp_CheckProgramType(TRUE);
- }
- break;
- #if 0 //Have been the new approach to replace.
- case APP_DVB_GLOBAL_EVENT_SCRAMBLE:
- g_bScrambleFlag = PROG_STATUS_SCRAMBLED;
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState == MID_REC_STATUS_START)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- DVBApp_CheckProgramType(TRUE);
- break;
- case APP_DVB_GLOBAL_EVENT_SCRAMBLE_CLEAR:
- g_bScrambleFlag = PROG_STATUS_SCRAMBLE_UNKNOW;
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState == MID_REC_STATUS_PAUSE)
- {
- MID_RecorderPauseResume();
- }
- _DVBApp_Recorder_PauseResume();
- #endif
- if (g_bMidHasUnmute)
- {
- DVBApp_CheckProgramType(TRUE);
- }
- break;
- #endif
- case FW_MONITOR_UPDATE_SERVICE:
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState != MID_REC_STATUS_STOP)
- {
- AL_RecHandle_t hProg = 0;
- AL_DB_EDBType_t DBType = AL_DBTYPE_MAX;
- AL_ServiceDetail_t stServInfo;
- APP_Database_GetCurrentDBType(APP_SOURCE_DTV, &DBType);
- hProg = APP_DVB_Playback_GetCurrentProgHandle(DBType,
- AL_RECTYPE_DVBTV |AL_RECTYPE_DVBRADIO | AL_RECTYPE_DVBDATA);
- if (AL_SUCCESS == AL_DB_QueryDetail(hProg, (al_void *)&stServInfo))
- {
- if (DBType == AL_DBTYPE_DVB_T)
- {
- if (stServInfo.stDVBTServ.stProgAttrib.scramble == al_true)
- {
- if (MID_RecorderState() == MID_REC_STATUS_START)
- {
- MID_RecorderPauseResume();
- _DVBApp_Recorder_PauseResume();
- }
- }
- else
- {
- if (MID_RecorderState() == MID_REC_STATUS_PAUSE && g_bIsPlaykey == FALSE)
- {
- MID_RecorderPauseResume();
- _DVBApp_Recorder_PauseResume();
- }
- }
- }
- else if (DBType == AL_DBTYPE_DVB_C)
- {
- if (stServInfo.stDVBCServ.stProgAttrib.scramble == al_true)
- {
- if (MID_RecorderState() == MID_REC_STATUS_START)
- {
- MID_RecorderPauseResume();
- _DVBApp_Recorder_PauseResume();
- }
- }
- else
- {
- if (MID_RecorderState() == MID_REC_STATUS_PAUSE && g_bIsPlaykey == FALSE)
- {
- MID_RecorderPauseResume();
- _DVBApp_Recorder_PauseResume();
- }
- }
- }
- else if (DBType == AL_DBTYPE_DVB_S)
- {
- if (stServInfo.stDVBSServ.stProgAttrib.scramble == al_true)
- {
- if (MID_RecorderState() == MID_REC_STATUS_START)
- {
- MID_RecorderPauseResume();
- _DVBApp_Recorder_PauseResume();
- }
- }
- else
- {
- if (MID_RecorderState() == MID_REC_STATUS_PAUSE && g_bIsPlaykey == FALSE)
- {
- MID_RecorderPauseResume();
- _DVBApp_Recorder_PauseResume();
- }
- }
- }
- }
- }
- #endif
- break;
- #ifdef SUPPORT_CONAX_CAS
- case APP_DVB_GLOBAL_EVENT_CONAX_CA_NO_ACCESS:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NO_ACCESS);
- break;
- case APP_DVB_GLOBAL_EVENT_CONAX_CA_NO_ACCESS_GEOGRAPHICAL_BLOCKOUT:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NO_ACCESS_GEOGRAPHICAL_BLACKOUT);
- break;
- case APP_DVB_GLOBAL_EVENT_CONAX_CA_NO_ACCESS_NETWORKBLOCK:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NO_ACCESS_NETWORK_BLOCK);
- break;
- case APP_DVB_GLOBAL_EVENT_CONAX_CA_ORDER:
- case APP_DVB_GLOBAL_EVENT_CONAX_CA_ACCEPT_VIEW:
- case APP_DVB_GLOBAL_EVENT_CONAX_CA_TOKEN_ACCESS:
- case APP_DVB_GLOBAL_EVENT_CONAX_CA_MATURITY_LOCK:
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CA_MESSAGE))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_ADJUST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_ADJUST);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM);
- }
- #ifdef CONFIG_CI_SUPPORT
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CI_ENQ))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_CI_ENQ);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CI_MENU))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_CI_MENU);
- }
- #endif
- _DVBApp_HidePopupDisplay();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_CA_PIN_CONFIM, dMessage);
- }
- break;
- case APP_DVB_GLOBAL_EVENT_CONAX_CA_HAVE_MESSAGE:
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CA_MESSAGE))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_ADJUST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_ADJUST);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM);
- }
- #ifdef CONFIG_CI_SUPPORT
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CI_ENQ))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_CI_ENQ);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CI_MENU))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_CI_MENU);
- }
- #endif
- DVBApp_HidePopupDisplay();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_CA_MESSAGE_POP, dMessage);
- }
- break;
- #endif
- #ifdef SUPPORT_CEC_TV
- case APP_DVB_GLOBAL_EVENT_HDMIPORT_STATUS:
- CECTV_HDMIPortStatus(dParam);
- break;
- #endif
- #if defined(CONFIG_HEADPHONE_DETECT_BY_ISR) || defined(CONFIG_HPDET_BY_SWTIMER)
- case APP_GLOBAL_EVENT_HEADPHONE_PLUG_IN:
- APP_Audio_Set_HPStatus(APP_Audio_Headphone_PlugIn);
- APP_Audio_SetMuteSpeakerWithoutAMP(TRUE);
- APP_Audio_SetMuteAMP(TRUE);
- APP_Audio_SetMuteDACSpeak(TRUE);
- APP_Audio_SetMuteDACHeadohone(FALSE);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if ((g_stUserInfoData.Mute == FALSE) && bHasValidServ && (g_stFeatureData.SpeakerPreference == APP_HDMILINK_TVSPEAKER
- || (( APP_SWITCH_ON == g_stFeatureData.Enable_HDMILink)
- &&(APP_HDMILINK_AMPLIFIER == g_stFeatureData.SpeakerPreference)
- &&((!CECTV_GetHDMISystemAudioMode())||(!APP_Check_CEC_DEVICE_Status())|| APP_GUIOBJ_Source_GetAmplifierPort()== 0)
- )))
- APP_Audio_SetMuteSpeakerWithoutAMP(FALSE);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL, 0,
- sizeof(APP_SETTING_Variational_t), &(g_stVariationalData));
- APP_Audio_SetVolume(g_stVariationalData.Volume);
- break;
- case APP_GLOBAL_EVENT_HEADPHONE_PLUG_OUT:
- APP_Audio_Set_HPStatus(APP_Audio_Headphone_PlugOut);
- APP_Audio_SetMuteDACHeadohone(TRUE);
- APP_Audio_SetMuteSpeakerWithoutAMP(TRUE);
- APP_Audio_SetMuteDACSpeak(FALSE);
- APP_Audio_SetMuteAMP(FALSE);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if ((g_stUserInfoData.Mute == FALSE) && (g_stFeatureData.SpeakerPreference == APP_HDMILINK_TVSPEAKER
- || (( APP_SWITCH_ON == g_stFeatureData.Enable_HDMILink)
- &&(APP_HDMILINK_AMPLIFIER == g_stFeatureData.SpeakerPreference)
- &&((!CECTV_GetHDMISystemAudioMode())||(!APP_Check_CEC_DEVICE_Status())|| APP_GUIOBJ_Source_GetAmplifierPort()== 0)
- )))
- {
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- if (APP_WAKEUP_GetBootFlag() == FALSE)
- #endif
- {
- APP_Audio_SetMuteSpeakerWithoutAMP(FALSE);
- }
- }
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL, 0,
- sizeof(APP_SETTING_Variational_t), &(g_stVariationalData));
- APP_Audio_SetVolume(g_stVariationalData.Volume);
- break;
- #endif
- #ifdef CONFIG_QSD
- case APP_GLOBAL_EVENT_QSD_MEDIA_PLAY:
- {
- void MM_MediaQsd_SetTestFlag(BOOLEAN bFlag, UINT32 dParam);
- MM_MediaQsd_SetTestFlag(TRUE, dParam);
- _DVBApp_CloseAllMenu();
- DVBApp_ResetPopup_Channel();
- #ifdef CONFIG_MULTIMEDIA1_SUPPORT
- {
- MediaSourceNumber_e MediaType = 0;
- UINT8 u8Port;
- int i32Cnt = MID_PartitionList_GetMountedCount();
- if (i32Cnt > 0)
- {
- u8Port = MID_PartitionList_GetMountPort(0);
- extern MediaSourceNumber_e MM_HomePage_GetMediaSourceNumberbyPort(UINT8 u8Port);
- MediaType = MM_HomePage_GetMediaSourceNumberbyPort(u8Port);
- if (MediaType == MEDIA_ONE)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_MEDIA);
- }
- else if (MediaType == MEDIA_TWO)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_MEDIA1);
- }
- }
- }
- #else
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_MEDIA);
- #endif
- }
- break;
- case APP_GLOBAL_EVENT_QSD_SET_SOURCE:
- _DVBApp_CloseAllMenu();
- DVBApp_ResetPopup_Channel();
- APP_GUIOBJ_Source_SetAppSource(dParam);
- break;
- #endif
- case UI_EVENT_PIP_MENU:
- case UI_EVENT_MENU:
- AutoUpgrade = FALSE;
- if (APP_MenuMgr_Exist_Main_Menu()
- || APP_MenuMgr_Exist_Factory_Menu()
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPG)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPGEXTEND)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MULTIAUD))
- {
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_FREEZE, 0);
- }
- _DVBApp_Exit_All_Menu();
- }
- else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNMGR)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVMGR)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNRENAME)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST))
- {
- if (MID_PlaybackIsPauseState())
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_FREEZE, 0);
- }
- _DVBApp_Exit_All_Menu();
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- if (bHasValidServ)
- {
- if ((!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- #ifdef SUPPORT_HOTEL_MODE_INFOBANNER_SHOW_CONTROL
- &&((!g_stFactoryHotelData.HotelModeOnOff)||(g_stFactoryHotelData.ShowInfoBar))
- #endif
- )
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_ADJUST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_ADJUST);
- }
- #ifdef SUPPORT_CEC_TV
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME);
- }
- #endif
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO, 0);
- }
- }
- }
- else
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- #ifdef Subtitle_Freeze
- AL_Subtitle_SetFreeze(FALSE);
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5 //Gahu:D0304
- if( eSourType == APP_SOURCE_DTV )
- {
- #ifdef CONFIG_SUPPORT_SUBTITLE
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0, sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- if( g_stUserInfoData.Subtitle == DVB_SWITCH_OFF )
- #endif
- {
- DVBApp_DataApplicationSwitch( OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5 );
- }
- }
- #endif
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- }
- #ifdef CONFIG_BT_RDA5856
- if(UI_EVENT_PIP_MENU == dMessage)
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(
- SYS_APP_DVB, APP_GUIOBJ_BT_SETTING, BT_FROM_OPTION);
- }
- else
- #endif
- {
- /*Because free memory isn't enough, TT and subtitle need unload.*/
- #if (defined CONFIG_MOD_PACK_TT) || (defined CONFIG_MOD_PACK_SUB)
- #ifdef CONFIG_MOD_PACK_SUB
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_SUB);
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- #endif
- {
- #ifdef CONFIG_MOD_PACK_TT
- AL_TTX_Stop();
- #endif
- if (TTOrSubModUnload() == false)
- {
- dvb_printf("[%s %d]TT/Subtitle Unload fail~~~~\n",__FUNCTION__,__LINE__);
- break;
- }
-
- }
- #endif
- #ifdef CONFIG_BANDWIDTH_LIMIT_WHEN_MENU_OPEN
- Cmd_VipAdjust(VIP_MENU_IS_OPEN,1);
- #endif
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB,
- APP_GUIOBJ_MAINMENU, FIRST_ENTER_MAINMENU);
- }
- }
- break;
- case UI_EVENT_SOURCE:
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState != MID_REC_STATUS_STOP)
- {
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_STOP_SOURCE_CHANGE);
- break;
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_STOP_SOURCE_CHANGE);
- break;
- }
- }
- else
- #endif
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOURCE))
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_SOURCE);
- }
- else
- #endif
- {
- _DVBApp_Exit_All_Menu();
- }
- }
- else
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_SOURCE, 0);
- }
- }
- break;
- #ifdef CONFIG_MEDIA_ENABLE
- case UI_EVENT_SRC_USB:
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_REC_STATUS_STOP != u8MidRecState)// && (MID_REC_MODE_AUTO != u8MIDRecMode))
- {
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_STOP_FOR_USBKEY);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_STOP_FOR_USBKEY);
- }
- break;
- }
- #endif
- _DVBApp_CloseAllMenu();
- #ifdef SUPPORT_CEC_TV
- if (CECTV_GetCECEnable()==CECTV_ENABLE)
- {
- CECTV_SendCmd(CECTV_SINGLE_ACT_CMD_CHGSRC_OUT_HDMI, SRC_OTHERS);
- }
- #endif
- DVBApp_ResetPopup_Channel();
- if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_MEDIA))
- {
- dvb_printf("APP_GUIOBJ_Source_SetAppSource Fail!!!!!!!!!\n");
- }
- }
- break;
- #endif
- case UI_EVENT_TV_DVD:
- #ifdef CONFIG_ATV_SUPPORT
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_DVD);
- #else
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- #endif
- break;
- #ifdef CONFIG_SUPPORT_PVR
- #ifdef SUPPORT_PVR_ONOFF
- case UI_EVENT_PVR_ONOFF:
- if ((MID_REC_STATUS_STOP != u8MidRecState)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_MAINMENU))
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_SETUP, 0,
- sizeof(APP_SETTING_Setup_t), &(g_stSetupData));
- if (g_stSetupData.PVROnOff)
- {
- g_stSetupData.PVROnOff = 0;
- AL_PR_DeleteAllSch(eNetType, AL_PR_EVT_REM | AL_PR_SRV_REM);
- g_stFeatureData.AutoTimeShift = APP_PVR_TIMESHIFT_OFF;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE,
- ITEM_OFFSET(APP_SETTING_Feature_t, AutoTimeShift),
- sizeof(g_stFeatureData.AutoTimeShift),&(g_stFeatureData.AutoTimeShift));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE,
- ITEM_OFFSET(APP_SETTING_Feature_t, AutoTimeShift), sizeof(g_stFeatureData.AutoTimeShift));
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_PVR_DISABLE);
- }
- else
- {
- g_stSetupData.PVROnOff = 1;
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_PVR_ENABLE);
- }
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_SETUP,
- ITEM_OFFSET(APP_SETTING_Setup_t, PVROnOff),
- sizeof(g_stSetupData.PVROnOff), &(g_stSetupData.PVROnOff));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_SETUP,
- ITEM_OFFSET(APP_SETTING_Setup_t, PVROnOff), sizeof(g_stSetupData.PVROnOff));
- }
- break;
- #endif
- #endif
- #ifdef SUPPORT_EPG_ONOFF
- case UI_EVENT_EPG_ONOFF:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_MAINMENU))
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_SETUP, 0,
- sizeof(APP_SETTING_Setup_t), &(g_stSetupData));
- if (g_stSetupData.EPGOnOff)
- {
- g_stSetupData.EPGOnOff = 0;
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_EPG_DISABLE);
- }
- else
- {
- g_stSetupData.EPGOnOff = 1;
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_EPG_ENABLE);
- }
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_SETUP,
- ITEM_OFFSET(APP_SETTING_Setup_t, EPGOnOff),
- sizeof(g_stSetupData.EPGOnOff), &(g_stSetupData.EPGOnOff));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_SETUP,
- ITEM_OFFSET(APP_SETTING_Setup_t, EPGOnOff), sizeof(g_stSetupData.EPGOnOff));
- }
- break;
- #endif
- #if 1//ll.jing mark for new fm
- case UI_EVENT_FAC_HOTEL:
- if (APP_MenuMgr_Exist_Factory_Menu())
- {
- _DVBApp_Exit_All_Menu();
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_MAINMENU))
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_FM_HOTELSETTING, ENTER_HOTELSET_NOTFROM_FACTORYMENU);
- }
- }
- break;
- #endif
- #ifdef CONFIG_SUPPORT_HOTKEY_SOURCE_LOCK
- case UI_EVENT_FAC_SOURCE_LOCK:
- g_fmSourceLock_flag = TRUE;
- SourceLock_Set_Hotkey_Flag(g_fmSourceLock_flag);
- if (APP_MenuMgr_Exist_Factory_Menu())
- {
- _DVBApp_Exit_All_Menu();
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_MAINMENU))
- {
- _DVBApp_CloseAllMenu();
- DVBApp_ResetPopup_Channel();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_FM_SOURCELOCK, ENTER_HOTELSET_NOTFROM_FACTORYMENU);
- }
- }
- break;
- #endif
- case UI_EVENT_FACTORY:
- if (APP_MenuMgr_Exist_Factory_Menu())
- {
- _DVBApp_Exit_All_Menu();
- }
- else
- {
- #if 0
- #ifdef SUPPORT_HKC_FACTORY_REMOTE
- if ((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOURCE))||((dParam == UI_EVENT_HKC_FACTORYMENU)&&(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)))
- #else
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOURCE))
- #endif
- #else
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_MAINMENU))
- #endif
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_FM_FACTORYSETTING, 0);
- }
- }
- break;
- #ifdef CONFIG_SUPPORT_USB_UPGRADE
- case UI_EVENT_CHECK_UPGRADE:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE))
- {
- dvb_printf("upgrade is running!");
- break;
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOURCE))
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE, SOFTWARE_UPGRADE_FROM_PASSWORD);
- }
- }
- break;
- #endif
- #ifdef SUPPORT_CLOSE_NOTTVSOURCE_BY_PINCODE
- case UI_EVENT_ALLSOURCE_ON:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOURCE))
- {
- //set all source support
- APP_GOBJ_Source_Set_ResetDefaultSourceSupport();
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_SOURCE);
- }
- break;
- case UI_EVENT_TVSOURCE_ON:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOURCE))
- {
- //set only tv source support
- APP_GOBJ_Source_Set_OnlyTVSourceSupport();
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_SOURCE);
- }
- break;
- #endif
- case UI_EVENT_POWER:
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- if (!APP_GUIOBJ_DVB_PvrRec_GetDurationTime())
- {
- DVBApp_StopRecord();
- }
- }
- else
- {
- DVBApp_StopTimeshift(TRUE);
- }
- }
- #endif
- MAINAPP_SendGlobalEvent(UI_EVENT_POWER, AL_POWER_STATE_OFF);
- break;
- case UI_EVENT_EPG:
- #ifdef CONFIG_EPG_USE_RESERVE_MM
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- break;
- }
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef SUPPORT_SUBTITLE_ON_PG
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU) == false)
- #endif
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- #endif
- #ifdef SUPPORT_EPG_ONOFF
- if (!g_stSetupData.EPGOnOff)
- {
- break;
- }
- #endif
- dGuiObj = DVB_GUIOBJ_EPG;
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPG)
- || (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPGEXTEND)))
- {
- //_DVBApp_Exit_All_Menu();
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_EPGEXTEND);
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_EPG);
- }
- else
- {
- _DVBApp_Exit_All_Menu();
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- if (bHasValidServ)
- {
- /*Because free memory isn't enough, TT and subtitle need unload.*/
- #if (defined CONFIG_MOD_PACK_TT) || (defined CONFIG_MOD_PACK_SUB)
- #ifdef CONFIG_MOD_PACK_SUB
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_SUB);
- #endif
- #ifdef CONFIG_MOD_PACK_TT
- AL_TTX_Stop();
- #endif
- if (TTOrSubModUnload() == false)
- {
- dvb_printf("[%s %d]TT/Subtitle Unload fail~~~~\n",__FUNCTION__,__LINE__);
- break;
- }
- #endif
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, dGuiObj, 0);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- }
- }
- break;
- case UI_EVENT_AUDIO:
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_TSPLParser_GetThreadState())
- {
- UINT32 u32PlayState = MID_TSPL_MODE_STOP;
- MID_TSPLParser_GetPlayState(&u32PlayState, NULL);
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_MULTIAUD))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_MULTIAUD);
- }
- else if (u32PlayState == MID_TSPL_MODE_PLAY)
- {
- _DVBApp_HidePopupDisplay();
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BANNER))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_BANNER);
- }
- #ifdef CONFIG_SUPPORT_SUBTITLE
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU);
- }
- #endif
- dvb_printf("...Create PVR multi audio menu.\n");
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_MULTIAUD, 0);
- }
- break;
- }
- else
- #endif
- {
- UINT8 u8ProgLockState = FALSE;
- u8ProgLockState = APP_DVB_Playback_GetProgStateByHandle(eNetType, AL_DB_INVALIDHDL);
- if (u8ProgLockState == MID_PLAYBK_PROG_STATE_LOCKED)
- {
- break;
- }
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- if (bHasValidServ)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MULTIAUD))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MULTIAUD);
- _DVBApp_CheckPopupDisplay();
- }
- else
- {
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_MULTIAUD, 0);
- }
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- }
- }
- break;
- case UI_EVENT_MUTE:
- #ifdef SUPPORT_CEC_TV
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if (( APP_SWITCH_ON == g_stFeatureData.Enable_HDMILink)
- #ifdef SUPPORT_AMPLIFIER_CONTROL
- &&(APP_SWITCH_ON == g_stFeatureData.AmplifierControl)
- #endif
- &&(APP_HDMILINK_AMPLIFIER == g_stFeatureData.SpeakerPreference) && APP_GUIOBJ_Source_GetAmplifierPort()&& APP_Check_CEC_DEVICE_Status())
- {
- if (CECTV_GetCECEnable() == CECTV_ENABLE && CECTV_GetHDMISystemAudioMode() && g_u32MuteIconHandle >= MUTE_KEY_INTERVAL)
- {
- APP_Set_CECTV_Mute_Status(EVENT_CECTV_SET_MUTE_STATUS_MUTE);
- g_u32MuteIconHandle = 0;
- break;
- }
- else if(g_u32MuteIconHandle < MUTE_KEY_INTERVAL)//Don't handle mute icon
- {
- break;
- }
- }
- APP_Set_HDMICEC_TV_Mute_Status(!APP_Get_HDMICEC_TV_Mute_Status());
- #endif
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SLEEP_INFO))
- {
- APP_GUIOBJ_SleepTimer_Reset();
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_SLEEP_INFO);
- }
- APP_GUIOBJ_Mute_MuteKeyHandler();
- break;
- #ifdef SUPPORT_CEC_TV
- case DMN_EVENT_CECTV_SET_MUTE_STATUS:
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if (( APP_SWITCH_ON == g_stFeatureData.Enable_HDMILink)
- #ifdef SUPPORT_AMPLIFIER_CONTROL
- &&(APP_SWITCH_ON == g_stFeatureData.AmplifierControl)
- #endif
- &&(APP_HDMILINK_AMPLIFIER == g_stFeatureData.SpeakerPreference) && APP_GUIOBJ_Source_GetAmplifierPort())
- {
- if (CECTV_GetCECEnable()==CECTV_ENABLE)
- {
- if( (dParam & 0x80) != 0) //reopen TV, the amp vol status must sinc.So if amp is mute state, tv need to set mute state.
- {
- APP_Set_CECTV_Mute_Status(EVENT_CECTV_SET_MUTE_STATUS_MUTE);
- }
- APP_Process_CECTV_Mute_Status(dParam);
- }
- }
- break;
- case DMN_EVENT_CECTV_SET_SYSTEMAUDIO_STATUS:
- APP_Process_CECTV_Control_Status_From_Amp(dParam);
- break;
- case DMN_EVENT_CECTV_SET_DEVICE_OSDNAME:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO)
- ||SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOURCE)
- #ifdef SUPPORT_CEC_TV
- ||SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_HDMI_LINK)
- #endif
- #ifdef CONFIG_BT_RDA5856
- || (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BT_SETTING))
- || (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BT_DEVICELIST))
- #endif
- ||SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_MAINMENU)
- ||SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOURCE_CEC))
- {
- break;
- }
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- #ifdef Subtitle_Freeze
- AL_Subtitle_SetFreeze(FALSE);
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB,
- APP_GUIOBJ_CEC_DEVICE_INSERT, 0);
- break;
- #endif
- case UI_EVENT_EXIT:
- #ifdef CONFIG_SUPPORT_PVR
- #ifdef SUPPORT_PVR_ICON_HIDE
- if (u8MidRecState == MID_REC_STATUS_START && !(APP_MenuMgr_Exist_Main_Menu()))
- {
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC, UI_EVENT_EXIT, 0);
- }
- break;
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, UI_EVENT_EXIT, 0);
- }
- break;
- }
- }
- #endif
- #endif
- case UI_EVENT_RETURN:
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef SUPPORT_SUBTITLE_ON_PG
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU) == false)
- #endif
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5) && dMessage != UI_EVENT_EXIT)
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- #ifdef SUPPORT_TEAC_PVR_ICON_CTRL
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB,
- DVB_GUIOBJ_PVRREC_INFO, 0);
- break;
- }
- #endif
- if ((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC)) ||
- (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO)))
- {
- if (APP_MenuMgr_Exist_Main_Menu())
- {
- APP_MenuMgr_Exit_Main_Menu();
- }
- break;
- }
- #endif
- AutoUpgrade = FALSE;
- _DVBApp_ExitAll();
- /*Because free memory isn't enough, TT and Subtitle need unload with epg/mainmenu ui.*/
- #if (defined CONFIG_MOD_PACK_TT) || (defined CONFIG_MOD_PACK_SUB)
- #ifdef CONFIG_SUPPORT_PVR
- /*while pvr reverse memory is being used, don't load TT/SUB.*/
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- break;
- }
- #endif
- if (TTOrSubModLoad(TRUE) == TRUE)
- {
- #ifdef CONFIG_MOD_PACK_TT
- al_uint8 *pref_iso639 = al_null;
- /**< get digital TTX language index from EEPROM */
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE,
- ITEM_OFFSET(APP_SETTING_Feature_t, DigitalTTLang),
- sizeof(g_stFeatureData.DigitalTTLang),&(g_stFeatureData.DigitalTTLang));
- pref_iso639 = APP_Language_GetISO639ByIndx(g_stFeatureData.DigitalTTLang, APP_DATA_LANG_TYPE_TELETEXT);
- if(pref_iso639 == al_null)
- {
- pref_iso639 = APP_Language_GetISO639_2ByIndx(g_stFeatureData.DigitalTTLang, APP_DATA_LANG_TYPE_TELETEXT);
- }
- AL_TTX_Start(AL_TTX_SOURCE_TYPE_DIGITAL, pref_iso639);
- #endif
- }
- #endif
- #ifdef CONFIG_SUPPORT_SUBTITLE
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLE))
- {
- UINT8 onoff = 0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- onoff = g_stUserInfoData.Subtitle;
- if (onoff == TRUE)
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- }
- }
- #endif
- break;
- case UI_EVENT_CH_UP:
- case UI_EVENT_CH_DN:
- g_bIsFav = FALSE;
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState != MID_REC_STATUS_STOP)
- {
- g_bIsNumKey = FALSE;
- if (dMessage == UI_EVENT_CH_UP)
- {
- g_bIsCHUp = TRUE;
- }
- else
- {
- g_bIsCHUp = FALSE;
- }
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_STOP_CHANNEL_CHANGE);
- break;
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_STOP_CHANNEL_CHANGE);
- break;
- }
- }
- else
- #endif
- {
- /* judge is database empty or not */
- al_uint32 TotalNum = 0;
- ServiceGroupType_t group_type;
- APP_EProgListType_t eCurProglist = ProgListType_Normal;
- AL_RecHandle_t hNetHdl = AL_DB_INVALIDHDL;
- al_int8 s8Navigate = 0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_TVINFO, 0,
- sizeof(APP_SETTING_TVInfo_t), &(g_stTVInfoData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL, 0,
- sizeof(APP_SETTING_Variational_t), &(g_stVariationalData));
- group_type = g_stTVInfoData.ChnListType;
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- if (APP_RF_TYPE_DVB_S == g_stChannelData.TV_Connection)
- {
- if (SERVICEGROUP_FREE == group_type)
- {
- eCurProglist = ProgListType_Free;
- }
- else if (SERVICEGROUP_SCRAMB == group_type)
- {
- eCurProglist = ProgListType_Scramb;
- }
- else if (SERVICEGROUP_SATELLITE == group_type)
- {
- eCurProglist = ProgListType_Satellite;
- APP_DVB_Playback_GetCurrentSat(&hNetHdl, NULL);
- }
- }
- #endif
- if (SERVICEGROUP_USER == group_type)
- {
- eCurProglist = ProgListType_User;
- }
- #ifdef CONFIG_CIPLUS_SUPPORT
- if (APP_CIPLUS_IsProfileSource())
- {
- group_type = SERVICEGROUP_DIGITAL;
- }
- #endif
- APP_Database_InitChnList(APP_Database_ConvertGroup2ChnListType(group_type), hNetHdl, eCurProglist);
- TotalNum = APP_Database_GetChnListSize();
- APP_Database_UninitChnList();
- if (TotalNum == 0)
- {
- /* show not available */
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- if (dMessage == UI_EVENT_CH_UP)
- {
- s8Navigate = 1;
- }
- else if (dMessage == UI_EVENT_CH_DN)
- {
- s8Navigate = -1;
- }
- hProg = APP_DVB_PLAYBACK_GetNextProgHdl(eNetType, s8Navigate, APP_FAVORITE_NONE);
- #ifdef CONFIG_CIPLUS_SUPPORT
- if (APP_CIPLUS_IsProfileSource())
- {
- if (hProg != AL_DB_INVALIDHDL)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_ADJUST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_ADJUST);
- }
- #ifdef SUPPORT_CEC_TV
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME);
- }
- #endif
- _DVBApp_Zapping(eServiceType, hProg, FALSE, 0, TRUE);
- break;
- }
- }
- #endif
- if (hProg != AL_DB_INVALIDHDL)
- {
- AL_DB_EDBType_t db_type;
- AL_DB_ERecordType_t record_type;
- AL_DB_GetRecordType(hProg, &db_type, &record_type);
- if (db_type == AL_DBTYPE_DVB_ATV)
- {
- _DVBApp_CloseAllMenu();
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_ADJUST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_ADJUST);
- }
- #ifdef SUPPORT_CEC_TV
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME);
- }
- #endif
- /*#ifdef CONFIG_SUPPORT_PVR
- if ((MID_REC_MODE_AUTO == u8MIDRecMode) && (u8MidRecState != MID_REC_STATUS_STOP))
- {
- DVBApp_StopTimeshift(FALSE);
- }
- #endif*/
- #ifdef SUPPORT_CHANGE_TS_DYNAMICALLY
- AL_RecHandle_t hCurTPHdl = hCurProg;
- AL_RecHandle_t hNextTPHdl = hProg;
- AL_DB_GetRecord(AL_DB_REQ_GETPARENT, eNetType, AL_RECTYPE_DVBMULTIPLEX, &hCurTPHdl);
- AL_DB_GetRecord(AL_DB_REQ_GETPARENT, eNetType, AL_RECTYPE_DVBMULTIPLEX, &hNextTPHdl);
- if(APP_Get_DTVHiddenScanState()&&(hCurTPHdl!=hNextTPHdl))
- {
- APP_ScanProcess_Stop();
- APP_SetSrcChgFlag(TRUE);
- while(APP_Get_DTVHiddenScanState()||(!AL_CS_IsStop()))
- {
- GL_TaskSleep(50);
- }
- APP_SetSrcChgFlag(FALSE);
- }
- #endif
- _DVBApp_Zapping(record_type, hProg, FALSE, 0, TRUE);
- /*#ifdef CONFIG_SUPPORT_PVR
- if ((MID_REC_MODE_AUTO == u8MIDRecMode) && (u8MidRecState != MID_REC_STATUS_STOP))
- {
- DVBApp_StopTimeshift(TRUE);
- }
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- #endif*/
- }
- else
- {
- DVBApp_CheckProgramType(TRUE);
- }
- break;
- }
- case UI_EVENT_RECALL:
- {
- //_DVBApp_CloseAllMenu();
- UINT32 u32TotalChnCount = 0;
- DBServAttrib_t stAttribute;
- eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- if ((eServiceType != AL_RECTYPE_DVBTV) && (eServiceType != AL_RECTYPE_DVBRADIO) && (eServiceType != AL_RECTYPE_DVBDATA))
- {
- eServiceType = AL_RECTYPE_DVBTV;
- }
- AL_DB_GetRecordsTotalNum(eNetType, eServiceType, &u32TotalChnCount);
- if(!u32TotalChnCount)
- {
- AL_DB_GetRecordsTotalNum(eNetType, AL_RECTYPE_DVBDATA, &u32TotalChnCount);
- if(!u32TotalChnCount)
- {
- AL_DB_GetRecordsTotalNum(eNetType, AL_RECTYPE_DVBRADIO, &u32TotalChnCount);
- }
- }
- hProg = APP_DVB_Playback_GetPrevProg(eNetType);
- if (hProg != AL_DB_INVALIDHDL)
- {
- memset(&stAttribute, 0, sizeof(DBServAttrib_t));
- AL_DB_QueryDetailFieldByName(hProg, (al_uint8 *)"stProgAttrib", (al_void *)&stAttribute);
- }
- if ((hCurProg!=hProg)&&(hProg != AL_DB_INVALIDHDL)&& u32TotalChnCount && (stAttribute.delete == FALSE))
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState != MID_REC_STATUS_STOP)
- {
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_STOP_FOR_RECALL);
- break;
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_STOP_FOR_RECALL);
- break;
- }
- }
- #endif
- AL_DB_GetRecordType(hProg, NULL, &NextServiceType);
- #ifdef CONFIG_CIPLUS_SUPPORT
- if( APP_CIPLUS_GetProfileType()==1 &&
- ((APP_CIPLUS_IsProfileSource() && (!APP_CIPLUS_IsProfileService(hProg) || !APP_CIPLUS_IsProfileService(AL_DB_INVALIDHDL))) ||
- (!APP_CIPLUS_IsProfileSource() && (APP_CIPLUS_IsProfileService(hProg) || APP_CIPLUS_IsProfileService(AL_DB_INVALIDHDL)))) )
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- if( eServiceType==NextServiceType || APP_CIPLUS_IsVirtualChannel(hProg) || APP_CIPLUS_IsVirtualChannel(AL_DB_INVALIDHDL) )
- #else
- if (eServiceType == NextServiceType)
- #endif
- {
- #ifdef SUPPORT_CHANGE_TS_DYNAMICALLY
- AL_RecHandle_t hCurTPHdl = hCurProg;
- AL_RecHandle_t hNextTPHdl = hProg;
- AL_DB_GetRecord(AL_DB_REQ_GETPARENT, eNetType, AL_RECTYPE_DVBMULTIPLEX, &hCurTPHdl);
- AL_DB_GetRecord(AL_DB_REQ_GETPARENT, eNetType, AL_RECTYPE_DVBMULTIPLEX, &hNextTPHdl);
- if(APP_Get_DTVHiddenScanState()&&(hCurTPHdl!=hNextTPHdl))
- {
- APP_ScanProcess_Stop();
- APP_SetSrcChgFlag(TRUE);
- while(APP_Get_DTVHiddenScanState()||(!AL_CS_IsStop()))
- {
- GL_TaskSleep(50);
- }
- APP_SetSrcChgFlag(FALSE);
- }
- #endif
- _DVBApp_Zapping(NextServiceType, hProg, FALSE, 0, TRUE);
- }
- #ifdef CHANGE_SOURCE_BY_RECALL_KEY
- else if (APP_DVB_Playback_SwapServiceType(eNetType, &NextServiceType, &u32TotalNum) == AL_SUCCESS)
- {
- ;
- }
- #endif
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- }
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- }
- }
- break;
- case APP_DVB_GLOBAL_EVENT_ZAPPING:
- #ifdef CONFIG_SUPPORT_PVR
- if (u8MidRecState != MID_REC_STATUS_STOP)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM);
- if (hCurProg == dParam)
- {
- break;
- }
- else if(AL_DB_INVALIDHDL == dParam)
- {
- #ifdef SPECIAL_CHNORDER_FOR_SPAIN
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, UI_EVENT_DISPLAY, 0);
- #else
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_INVALID_INPUT);
- #endif
- break;
- }
- else
- {
- g_ProgHandle = dParam;
- g_bIsNumKey = TRUE;
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_STOP_CHANNEL_CHANGE);
- break;
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_STOP_CHANNEL_CHANGE);
- break;
- }
- }
- }
- }
- #endif
- #if 0
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- #endif
- _DVBApp_Zapping(eServiceType, dParam, FALSE, 0, TRUE);
- break;
- #ifdef SUPPORT_CHANGE_TS_DYNAMICALLY
- case APP_DVB_GLOBAL_EVENT_TSCHANGE_REMOVE_SERVICE:
- dvb_printf("[%s:%d] APP_DVB_GLOBAL_EVENT_TSCHANGE_REMOVE_SERVICE !!!!!!!!!!\n\n",__FUNCTION__,__LINE__);
- if (!AL_CS_IsStop())
- {
- dvb_printf("[%s:%d] not stop channel search !!!!!!!!!!\n\n",__FUNCTION__,__LINE__);
- break;
- }
- #ifdef SUPPORT_TURKY_NEW_CHNLIST
- if (AL_DBTYPE_DVB_S == eNetType)
- {
- break;
- }
- #endif
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST)
- //||(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNMGR)
- //|| SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVMGR)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPG)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNRENAME)
- #ifdef CONFIG_SUPPORT_PVR
- //|| SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TIMEREDIT)
- #endif
- )
- {
- if(DVBApp_GetUnstableState() == FALSE)
- {
- DVBApp_SetUnstableState(TRUE);
- }
- dvb_printf(" Post Process The Unstable Services\n\n");
- break;
- }
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNMGR))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_CHNMGR);
- }
- else if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVMGR))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FAVMGR);
- }
- #ifdef CONFIG_SUPPORT_PVR
- else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TIMEREDIT))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TIMEREDIT);
- }
- #endif
- DVBApp_RemoveUnstableService();
- break;
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- case APP_DVB_GLOBAL_EVENT_MHEG_ZAPPING:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_MHEG_ZAPPING, dParam);
- break;
- #endif
- #ifdef CONFIG_CIPLUS_SUPPORT
- case APP_DVB_GLOBAL_EVENT_CIPLUS_ZAPPING:
- if( SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPG) )
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_CIPLUS_ZAPPING, dParam);
- break;
- case APP_DVB_GLOBAL_EVENT_CIPLUS_TUNING:
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_CIPLUS_TUNING, dParam);
- break;
- #endif
- case UI_EVENT_ENTER:
- #ifdef CONFIG_SUPPORT_PVR
- #ifdef SUPPORT_PVR_ICON_HIDE
- if (u8MidRecState == MID_REC_STATUS_START)
- {
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC, UI_EVENT_ENTER, 0);
- }
- break;
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, UI_EVENT_ENTER, 0);
- }
- break;
- }
- }
- #endif
- #endif
- #ifdef CELLO_REMOTE_KEY
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef SUPPORT_SUBTITLE_ON_PG
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU) == false)
- #endif
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- #endif
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- UI_EVENT_CHLIST, 0);
- #else
- {
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- if (!bHasValidServ)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- }
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef SUPPORT_SUBTITLE_ON_PG
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU) == false)
- #endif
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- #endif
- #if 0
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MULTIAUD))
- {
- _DVBApp_CloseAllMenu();
- }
- else
- {
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST, 0);
- }
- #endif
- #endif
- break;
- #ifdef CELLO_REMOTE_KEY
- case UI_EVENT_INITIAL:
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_INITINSTALL, 0);
- break;
- case UI_EVENT_DTV:
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- APP_GUIOBJ_Channel_SetRFType(FRONTEND_CONNECT_TYPE_DVB_T, AL_DB_INVALIDHDL);
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_DTV);
- break;
- case UI_EVENT_SATELLITE:
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- APP_GUIOBJ_Channel_SetRFType(FRONTEND_CONNECT_TYPE_DVB_S, AL_DB_INVALIDHDL);
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_DTV);
- break;
- case UI_EVENT_CABLE:
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- APP_GUIOBJ_Channel_SetRFType(FRONTEND_CONNECT_TYPE_DVB_C, AL_DB_INVALIDHDL);
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_DTV);
- break;
- case UI_EVENT_DVD:
- if(eSourType != APP_SOURCE_DVD)
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_REC_STATUS_STOP != u8MidRecState)// && (MID_REC_MODE_AUTO != u8MIDRecMode))
- {
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_STOP_FOR_TVRADIOKEY);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_STOP_FOR_TVRADIOKEY);
- }
- break;
- }
- #endif
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_DVD);
- }
- break;
- case UI_EVENT_HDMI:
- if(eSourType != APP_SOURCE_HDMI && eSourType != APP_SOURCE_HDMI1 &&
- eSourType != APP_SOURCE_HDMI2)
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_REC_STATUS_STOP != u8MidRecState)// && (MID_REC_MODE_AUTO != u8MIDRecMode))
- {
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_STOP_FOR_TVRADIOKEY);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_STOP_FOR_TVRADIOKEY);
- }
- break;
- }
- #endif
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_HDMI);
- }
- break;
- #endif
- case UI_EVENT_CHLIST:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MULTIAUD))
- {
- _DVBApp_CloseAllMenu();
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST);
- _DVBApp_CheckPopupDisplay();
- }
- else
- {
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST, 0);
- }
- }
- break;
- case UI_EVENT_FAV:
- #ifdef CONFIG_DVB_SYSTEM
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- if (AREA_NORWAY == g_stChannelData.Country)
- {
- break;
- }
- #endif
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MULTIAUD))
- {
- _DVBApp_CloseAllMenu();
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST);
- _DVBApp_CheckPopupDisplay();
- }
- else
- {
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST, 0);
- }
- }
- break;
- case UI_EVENT_FAV_UP:
- case UI_EVENT_FAV_DN:
- {
- UINT32 TotalNum = 0;
- AL_DB_EDBType_t DBType;
- AL_DB_ERecordType_t CurSerType = AL_RECTYPE_DVBTV;
- APP_Favorite_t FavType = APP_FAVORITE_1;
- g_bIsFav = TRUE;
- DBType = APP_DVB_Playback_GetCurrentNetType();
- CurSerType = APP_DVB_Playback_GetCurrServiceType(DBType);
- FavType = APP_GUIOBJ_DVB_Playback_GetFavType();
- if ((FavType <= APP_FAVORITE_NONE) || (FavType >= APP_FAVORITE_MAX))
- {
- FavType = APP_FAVORITE_1;
- APP_GUIOBJ_DVB_Playback_SetFavType(FavType);
- APP_GUIOBJ_DVB_Playback_StoreFavType();
- }
- do
- {
- /* search next fav list type */
- APP_Database_InitChnList(APP_DB_CHNLISTTYPE_DIGITAL, AL_DB_INVALIDHDL, APP_Database_ConvertFavType2List(FavType));
- TotalNum = APP_Database_GetChnListSize();
- APP_Database_UninitChnList();
- if (((FavType == APP_GUIOBJ_DVB_Playback_GetFavType()) && (TotalNum > 0)) ||
- (TotalNum > 1))
- {
- break;
- }
- FavType++;
- if (FavType == APP_FAVORITE_MAX)
- {
- FavType = APP_FAVORITE_1;
- }
- }while(FavType != APP_GUIOBJ_DVB_Playback_GetFavType());
- if (FavType == APP_FAVORITE_MAX)
- {
- APP_GUIOBJ_DVB_Playback_SetFavType(APP_FAVORITE_1);
- APP_GUIOBJ_DVB_Playback_StoreFavType();
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- APP_GUIOBJ_DVB_Playback_SetFavType(FavType);
- APP_GUIOBJ_DVB_Playback_StoreFavType();
- if (TotalNum < 2)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- #ifdef CONFIG_SUPPORT_PVR
- if ((u8MidRecState != MID_REC_STATUS_STOP) && (APP_PVR_TIMESHIFT_AUTO != u8AutoTimeShift))
- {
- g_bIsNumKey = FALSE;
- if (MID_REC_MODE_TIMESHIFT_AFTER_REC == u8MIDRecMode)
- {
- if (dMessage == UI_EVENT_FAV_UP)
- {
- g_bIsCHUp = TRUE;
- }
- else
- {
- g_bIsCHUp = FALSE;
- }
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_STOP_CHANNEL_CHANGE);
- break;
- }
- else if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- if (dMessage == UI_EVENT_FAV_UP)
- {
- g_bIsCHUp = TRUE;
- }
- else
- {
- g_bIsCHUp = FALSE;
- }
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_STOP_CHANNEL_CHANGE);
- break;
- }
- }
- else
- #endif
- {
- if (dMessage == UI_EVENT_FAV_UP)
- {
- hProg = APP_DVB_PLAYBACK_GetNextProgHdl(DBType, 1, FavType);
- }
- else
- {
- hProg = APP_DVB_PLAYBACK_GetNextProgHdl(DBType, -1, FavType);
- }
- if (hProg != AL_DB_INVALIDHDL)
- {
- AL_DB_EDBType_t db_type;
- AL_DB_ERecordType_t record_type;
- AL_DB_GetRecordType(hProg, &db_type, &record_type);
- if (db_type == AL_DBTYPE_DVB_ATV)
- {
- _DVBApp_CloseAllMenu();
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_ADJUST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_ADJUST);
- }
- #ifdef SUPPORT_CEC_TV
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME);
- }
- #endif
- /*#ifdef CONFIG_SUPPORT_PVR
- if ((APP_PVR_TIMESHIFT_AUTO == u8AutoTimeShift) && (u8MidRecState != MID_REC_STATUS_STOP))
- {
- DVBApp_StopTimeshift(TRUE);
- }
- #endif*/
- _DVBApp_Zapping(CurSerType, hProg, FALSE, 0, TRUE);
- /*#ifdef CONFIG_SUPPORT_PVR
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- #endif*/
- }
- else
- {
- DVBApp_CheckProgramType(TRUE);
- }
- break;
- }
- }
- break;
- case UI_EVENT_DISPLAY:
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef SUPPORT_SUBTITLE_ON_PG
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU) == false)
- #endif
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- #endif
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- #ifdef CONFIG_SUPPORT_PVR
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- dvb_printf(" rec info is exist \n");
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- else
- #endif
- {
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- AL_RecHandle_t hTempHdl;
- MID_PlaybackGetCurProgHandle(al_null, &hTempHdl);
- DBPIDInfo_t stVideoPid;
- memset(&stVideoPid,0xff,sizeof(DBPIDInfo_t));
- AL_DB_QueryDetailFieldByName(hTempHdl, (al_uint8 *)"stVideoPid", (al_void *)&stVideoPid);
- #endif
- if (bHasValidServ)
- {
- #ifdef SUPPORT_HOTEL_MODE_INFOBANNER_SHOW_CONTROL
- if((g_stFactoryHotelData.HotelModeOnOff)&&(!g_stFactoryHotelData.ShowInfoBar))
- break;
- #endif
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO);
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- if (DVBApp_CheckHasVideo() == FALSE)
- #else
- if (eServiceType == AL_RECTYPE_DVBRADIO)
- #endif
- {
- if (!APP_GUIOBJ_DVB_Playback_GetShowLogoState())
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_SHOWLOGO, 0);
- }
- }
- if (APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL)
- == MID_PLAYBK_PROG_STATE_LOCKED)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_ADJUST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_ADJUST);
- }
- #ifdef SUPPORT_CEC_TV
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME);
- }
- #endif
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CHECKPWD);
- }
- else if (APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL)
- == MID_PLAYBK_PROG_STATE_AUDIO_VIDEO_SCRAMBLED \
- ||APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL)
- == MID_PLAYBK_PROG_STATE_ONLY_VIDEO_SCRAMBLED \
- ||(APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL)
- == MID_PLAYBK_PROG_STATE_ONLY_AUDIO_SCRAMBLED && eServiceType == AL_RECTYPE_DVBRADIO
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- &&((stVideoPid.usDataPID&0x1fff) == 0x1fff)
- #else
- && eServiceType == AL_RECTYPE_DVBRADIO
- #endif
- ))
- {
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_NO_SIGNAL))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_NO_SIGNAL, UI_EVENT_NULL);
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_RADIO_CHANNEL))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_RADIO_CHANNEL, UI_EVENT_NULL);
- }
- dvb_printf("#####Pop Scramble MSG Menu,[%s:%d] ######\n",__FUNCTION__,__LINE__);
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_SCRAMBLE);
- }
- else if ((eServiceType == AL_RECTYPE_DVBRADIO)
- &&(!DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_RADIO_CHANNEL))
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- &&((stVideoPid.usDataPID&0x1fff) == 0x1fff)
- #endif
- )
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- #endif
- {
- if(g_bScrambleFlag != PROG_STATUS_SCRAMBLE_UNKNOW)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_RADIO_CHANNEL);
- }
- }
- }
- }
- else
- {
- dvb_printf("[%s %d]\n", __FUNCTION__, __LINE__);
- _DVBApp_CloseAllMenu();
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_ADJUST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_ADJUST);
- }
- #ifdef SUPPORT_CEC_TV
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME);
- }
- #endif
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO, 0);
- #if 0
- if (APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL)
- == MID_PLAYBK_PROG_STATE_LOCKED)
- {
- //_DVBApp_ShowPopup(DVB_APP_POP_MSG_CHECKPWD);
- }
- #endif
- }
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- }
- }
- }
- //test OSD Capture function.
- //MAINAPP_SendGlobalEvent(APP_GLOBAL_EVENT_OSD_CAPTURE, 0);
- break;
- case UI_EVENT_TEXT:
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef SUPPORT_SUBTITLE_ON_PG
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU) == false)
- #endif
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- // do this action at ui_event_freeze
- #if 0
- if( SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE) ) //Gahu:D0326
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- MID_PlaybackStreamResume(1);
- g_PauseState = FALSE;
- }
- #endif
- // do this action at ui_event_freeze
- break;
- }
- }
- }
- #endif
- #ifdef CONFIG_SUPPORT_TTX
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_TSPLParser_GetThreadState())
- {
- al_bool bTtSignalStatus = al_false;
- AL_TTX_GetSignalStatus(&bTtSignalStatus);
- if (bTtSignalStatus == al_true)
- {
- dvb_printf("call create dtv ttx menu!\n");
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TTX);
- #ifdef CONFIG_SUPPORT_SUBTITLE
- UINT8 onoff = 0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- onoff = g_stUserInfoData.Subtitle;
- if (onoff == TRUE)
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- }
- #endif
- }
- else
- {
- if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- _DVBApp_CloseAllMenu();
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- g_PauseState = FALSE;
- #ifdef Subtitle_Freeze
- AL_Subtitle_SetFreeze(al_false);
- #endif
- }
- #ifdef CONFIG_SUPPORT_SUBTITLE
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE | OSD2CTRLMDL_SUB);
- #endif
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_TTX, 0);
- }
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TTX);
- }
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NO_TTX);
- }
- break;
- }
- #endif
- #endif
- UINT8 u8ProgLockState = FALSE;
- AL_ServiceDetail_t SerInfor;
- AL_DB_QueryDetail(APP_DVB_Playback_GetCurrentProgHandle(
- eNetType, (AL_RECTYPE_DVBTV | AL_RECTYPE_DVBRADIO | AL_RECTYPE_DVBDATA)),
- &SerInfor);
- if (AL_DBTYPE_DVB_T == eNetType)
- {
- if (SerInfor.stDVBTServ.stProgAttrib.parental_lock == al_true)
- {
- u8ProgLockState = TRUE;
- }
- }
- else if (AL_DBTYPE_DVB_C == eNetType)
- {
- if (SerInfor.stDVBCServ.stProgAttrib.parental_lock == al_true)
- {
- u8ProgLockState = TRUE;
- }
- }
- else if (AL_DBTYPE_DVB_S == eNetType)
- {
- if (SerInfor.stDVBSServ.stProgAttrib.parental_lock == al_true)
- {
- u8ProgLockState = TRUE;
- }
- }
- if ((u8ProgLockState == TRUE && APP_DVB_Playback_IsUnlock() == FALSE)
- && (g_u32OldPopup == PLAYBACK_POPUP_PWD_LOCKED
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO)))
- {
- break;
- }
- MID_PlaybackProgState_t GetProgState;
- GetProgState = APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL);
- /*if digital programs are locked, pressing TT key is not Available*/
- if((GetProgState != MID_PLAYBK_PROG_STATE_NORMAL)
- && (GetProgState != MID_PLAYBK_PROG_STATE_VIDEO_AVC)
- && (GetProgState != MID_PLAYBK_PROG_STATE_VIDEO_MPEG4))
- {
- break;
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_DATABASE_EMPTY) || DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_SERVICE_NOT_AVAILABLE))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- #ifdef CONFIG_MOD_PACK_TT
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- #endif
- #ifdef CONFIG_SUPPORT_TTX
- al_bool bTtSignalStatus = al_false;
- AL_TTX_GetSignalStatus(&bTtSignalStatus);
- #endif
- #ifndef CONFIG_SUPPORT_MHEG5
- Boolean bIgnoreCheckTTX = TRUE;
- #endif
- if (APP_Area_SupportDtg()
- #ifdef CONFIG_SUPPORT_MHEG5
- && (APP_DVB_Mheg5_GetBootCarouselStatus() == MHEG5_BOOT_CAROUSEL_EXISTED)
- #else
- && (!bIgnoreCheckTTX) //Also deal with Teletext flow if MHEG5 isn't supported.
- #endif
- )
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- dvb_printf("There is MHEG5 service existed.\n");
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- MID_PlaybackStreamResume(1);
- g_PauseState = FALSE;
- }
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- else
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_STOP_REC_FOR_MHEG);
- break;
- }
- else if ((MID_REC_MODE_TIMESHIFT_AFTER_REC == u8MIDRecMode)
- || (MID_REC_MODE_AUTO == u8MIDRecMode))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_STOP_TIMESHIFT_FOR_MHEG);
- break;
- }
- #endif
- #ifdef CONFIG_SUPPORT_SUBTITLE
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- if (g_stUserInfoData.Subtitle != 0) //Subtitle has been opened.
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_STOP_SUBTITLE_TO_OPEN_MHEG5);
- }
- #endif
- }
- #endif
- }
- #ifdef CONFIG_SUPPORT_TTX
- else if (bTtSignalStatus == al_true)
- {
- eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- if(eSourType != APP_SOURCE_DTV || eServiceType == AL_RECTYPE_DVBRADIO)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX))
- {
- dvb_printf("@@@@@@ TTX is Signal Guiobj exsit,destroy ttx menu!\n");
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TTX);
- #ifdef CONFIG_SUPPORT_SUBTITLE
- UINT8 onoff = 0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- onoff = g_stUserInfoData.Subtitle;
- if (onoff == TRUE)
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- }
- #endif
- }
- else
- {
- _DVBApp_CloseAllMenu();
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- g_PauseState = FALSE;
- #ifdef Subtitle_Freeze
- AL_Subtitle_SetFreeze(FALSE);
- #endif
- }
- #ifdef CONFIG_SUPPORT_SUBTITLE
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE | OSD2CTRLMDL_SUB);
- #endif
- dvb_printf("@@@@@@ TTX is Signal,Cestroy ttx menu!\n");
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_TTX, 0);
- }
- }
- #endif
- else
- {
- #ifdef CONFIG_SUPPORT_TTX
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX))
- {
- dvb_printf("@@@@@@ TTX is Signal Guiobj exsit,destroy ttx menu!\n");
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TTX);
- }
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NO_TTX);
- #else
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- #endif
- }
- }
- break;
- #ifdef SUPPORT_CLOCKINFO_SHOW
- case UI_EVENT_DEVLIST: //UI_EVENT_DEVLIST clock key
- {
- /*if digital programs are locked, pressing clock key is not Available*/
- MID_PlaybackProgState_t GetProgState;
- GetProgState = APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL);
- if ((GetProgState == MID_PLAYBK_PROG_STATE_LOCKED) \
- || (GetProgState == MID_PLAYBK_PROG_STATE_ONLY_VIDEO_SCRAMBLED) \
- ||(GetProgState == MID_PLAYBK_PROG_STATE_AUDIO_VIDEO_SCRAMBLED) \
- || (GetProgState == MID_PLAYBK_PROG_STATE_ONLY_AUDIO_SCRAMBLED))
- {
- break;
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_DATABASE_EMPTY))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- if (eSourType == APP_SOURCE_DTV)
- {
- #if 0
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTXCLOCK))
- {
- //dvb_printf("close clock menu!\n");
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_TTXCLOCK);
- }
- else
- {
- al_bool bTtSignalStatus = 0;
- AL_TTX_GetSignalStatus(&bTtSignalStatus);
- if ((bTtSignalStatus == TRUE) && (_DTVAPP_Check_TTClock_HasValidData() == SP_SUCCESS))
- {
- //dvb_printf("open clock menu!\n");
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_TTXCLOCK, 0);
- }
- else
- {
- //dvb_printf("no clock!\n");
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- }
- }
- #endif
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- }
- }
- break;
- #endif
- case UI_EVENT_SUBTITLE:
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_TSPLParser_GetThreadState())
- {
- UINT32 u32PEState = MID_TSPL_MODE_STOP;
- MID_TSPLParser_GetPlayState(&u32PEState, NULL);
- if (u32PEState != MID_TSPL_MODE_PLAY)
- {
- break;
- }
- #ifdef CONFIG_SUPPORT_SUBTITLE
- UINT32 SubTotalNum = 0;
- #ifdef CONFIG_SUPPORT_TTX
- al_uint32 TTXSubtitleTotalNum = 0;
- #endif
- if(AL_Subtitle_GetTotalNum(&SubTotalNum) == AL_SUCCESS
- #ifdef CONFIG_SUPPORT_TTX
- || (AL_TTX_GetTotalNum(AL_TTX_SUB_DESC_TYPE, &TTXSubtitleTotalNum) == AL_SUCCESS)
- #endif
- )
- {
- if(SubTotalNum > 0)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU);
- _DVBApp_CheckPopupDisplay();
- }
- else
- {
- _DVBApp_HidePopupDisplay();
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BANNER))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_BANNER);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_MULTIAUD))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_MULTIAUD);
- }
- APP_GUIOBJ_SubTitle_SetTSFMode(TRUE);
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU, 0);
- }
- break;
- }
- #ifdef CONFIG_SUPPORT_TTX
- else if (TTXSubtitleTotalNum > 0)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU);
- _DVBApp_CheckPopupDisplay();
- }
- else
- {
- _DVBApp_HidePopupDisplay();
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BANNER))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_BANNER);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_MULTIAUD))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_MULTIAUD);
- }
- APP_GUIOBJ_SubTitle_SetTSFMode(TRUE);
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU, 0);
- }
- break;
- }
- #endif
- }
- #endif
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- #endif
- {
- UINT8 u8ProgLockState = MID_PLAYBK_PROG_STATE_REPLACE;
- u8ProgLockState = APP_DVB_Playback_GetProgStateByHandle(eNetType, AL_DB_INVALIDHDL);
- if((u8ProgLockState != MID_PLAYBK_PROG_STATE_NORMAL)
- && (u8ProgLockState != MID_PLAYBK_PROG_STATE_VIDEO_AVC)
- && (u8ProgLockState != MID_PLAYBK_PROG_STATE_VIDEO_MPEG4))
- {
- break;
- }
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (MID_PlaybackIsPauseState() || (bSignalState != AL_DVB_MONITOR_VALUE_TRUE) || (DVBApp_CheckServiceNotAvailable() == TRUE)
- || (u8ProgLockState == MID_PLAYBK_PROG_STATE_AUDIO_VIDEO_SCRAMBLED)\
- ||(u8ProgLockState == MID_PLAYBK_PROG_STATE_ONLY_AUDIO_SCRAMBLED)\
- ||(u8ProgLockState == MID_PLAYBK_PROG_STATE_ONLY_VIDEO_SCRAMBLED))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- #ifdef CONFIG_SUPPORT_SUBTITLE
- UINT32 SubTotalNum = 0;
- #ifdef CONFIG_SUPPORT_TTX
- al_uint32 TTXSubtitleTotalNum = 0;
- #endif
- #if (defined CONFIG_MOD_PACK_TT) || (defined CONFIG_MOD_PACK_SUB)
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- #endif
- if ((AL_Subtitle_GetTotalNum(&SubTotalNum) == AL_SUCCESS)
- #ifdef CONFIG_SUPPORT_TTX
- || (AL_TTX_GetTotalNum(AL_TTX_SUB_DESC_TYPE, &TTXSubtitleTotalNum) == AL_SUCCESS)
- #endif
- )
- {
- if (SubTotalNum > 0)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU);
- _DVBApp_CheckPopupDisplay();
- }
- else
- {
- _DVBApp_HidePopupDisplay();
- _DVBApp_CloseAllMenu();
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BANNER))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_BANNER);
- }
- APP_GUIOBJ_SubTitle_SetTSFMode(FALSE);
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU, 0);
- }
- }
- #ifdef CONFIG_SUPPORT_TTX
- else if (TTXSubtitleTotalNum > 0)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU);
- _DVBApp_CheckPopupDisplay();
- }
- else
- {
- _DVBApp_HidePopupDisplay();
- _DVBApp_CloseAllMenu();
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BANNER))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_BANNER);
- }
- APP_GUIOBJ_SubTitle_SetTSFMode(FALSE);
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU, 0);
- }
- }
- #endif
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NO_SUBTITLE);
- }
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NO_SUBTITLE);
- }
- #else
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- #endif
- }
- break;
- case UI_EVENT_VOL_DN:
- case UI_EVENT_VOL_UP:
- #ifdef SUPPORT_CEC_TV
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if (( APP_SWITCH_ON == g_stFeatureData.Enable_HDMILink)
- #ifdef SUPPORT_AMPLIFIER_CONTROL
- &&(APP_SWITCH_ON == g_stFeatureData.AmplifierControl)
- #endif
- && (APP_HDMILINK_AMPLIFIER == g_stFeatureData.SpeakerPreference)
- && (APP_GUIOBJ_Source_GetAmplifierPort() != 0) && APP_Check_CEC_DEVICE_Status())
- {
- if (CECTV_GetCECEnable()==CECTV_ENABLE)
- {
- if(dMessage == UI_EVENT_VOL_UP)
- {
- APP_Set_CECTV_Mute_Status(EVENT_CECTV_SET_MUTE_STATUS_VOLUME_UP);
- }
- else if(dMessage == UI_EVENT_VOL_DN)
- {
- APP_Set_CECTV_Mute_Status(EVENT_CECTV_SET_MUTE_STATUS_VOLUME_DOWN);
- }
- DVBApp_VolumeKeyHandler(dMessage,TRUE);
- break;
- }
- }
- #endif
- DVBApp_VolumeKeyHandler(dMessage,FALSE);
- break;
- case UI_EVENT_ASPECT:
- #ifdef CONFIG_SUPPORT_PVR
- /*if (MID_TSPLParser_GetThreadState() == TRUE)
- {
- UINT32 u32PEState = MID_TSPL_MODE_PLAY;
- MID_TSPLParser_GetPlayState(&u32PEState, NULL);
- if (u32PEState == MID_TSPL_MODE_PAUSE)
- {
- break;
- }
- }*/
- if (APP_GUIOBJ_DVB_PvrPlayInfo_GetRecState() == PVR_STATE_PAUSE)
- {
- break;
- }
- #endif
- if ((APP_DVB_Playback_GetProgStateByHandle(eNetType, AL_DB_INVALIDHDL) == MID_PLAYBK_PROG_STATE_LOCKED)
- #ifdef CONFIG_SUPPORT_PVR //if playing pvr file, allow to set pic mode
- && (!MID_TSPLParser_GetThreadState())
- #endif
- )
- {
- break;
- }
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTHOTEL, 0,
- sizeof(APP_SETTING_FactoryHotel_t), &(g_stFactoryHotelData));
- if (g_stFactoryHotelData.HotelModeOnOff == 1&&g_stFactoryHotelData.PictureLock == 1)
- {
- dvb_printf("[%s] Picture Option has been Lock On!!\n",__FUNCTION__);
- break;
- }
- MID_DISP_DTVGetVideoMute(&eMuteSt);
- if ((eMuteSt == MID_DISP_MUTE) || (eMuteSt == MID_DISP_MUTE_BY_APP) || (eMuteSt == MID_DISP_MUTE_BY_TVFE) ||(eMuteSt == MID_DISP_MUTE_BY_VIP))
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- al_uint8 bSignalState = al_false;
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if((bSignalState != AL_DVB_MONITOR_VALUE_TRUE)
- ||(!((APP_DVB_Mheg5_GetBootCarouselStatus() == MHEG5_BOOT_CAROUSEL_EXISTED)
- && APP_Area_SupportDtg())))
- {
- break;
- }
- #else
- break;
- #endif
- }
- {
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if ((bHasValidServ && (bSignalState == AL_DVB_MONITOR_VALUE_TRUE)
- #ifndef PLAY_VIDEO_FOR_ALLSRV
- && (eServiceType != AL_RECTYPE_DVBRADIO)
- #endif
- )
- #ifdef CONFIG_SUPPORT_PVR //if playing pvr file, allow to set pic mode
- || (MID_TSPLParser_GetThreadState())
- #endif
- )
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- #endif
- {
- _DVBApp_CloseAllMenu();
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_BANNER, dMessage);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- if (eSourType == APP_SOURCE_DTV)
- {
- #ifdef CONFIG_SUPPORT_SUBTITLE
- UINT8 tmpIdx = 0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- tmpIdx = g_stUserInfoData.Subtitle;
- if (tmpIdx == DVB_SWITCH_ON)
- {
- #ifdef Subtitle_Freeze
- AL_Subtitle_SetFreeze(FALSE);
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- }
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef CONFIG_SUPPORT_SUBTITLE
- if (tmpIdx == DVB_SWITCH_OFF)
- #endif
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5);
- }
- #endif
- }
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- MID_PlaybackStreamResume(1);
- g_PauseState = FALSE;
- }
- break;
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- case UI_EVENT_KEYPAD_DOWN:
- case UI_EVENT_KEYPAD_UP:
- case UI_EVENT_KEYPAD_SOURCE:
- case UI_EVENT_KEYPAD_LEFT:
- case UI_EVENT_KEYPAD_RIGHT:
- case UI_EVENT_KEYPAD_POWER:
- case UI_EVENT_KEYPAD_MENU:
- {
- extern int APP_Factory_GetAutoTestOnOff(void);
- if(APP_Factory_GetAutoTestOnOff() == TRUE)
- {
- if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB,APP_GUIOBJ_BANNER))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_BANNER, dMessage);
- }
- }
- }
- break;
- #endif
- #ifdef CELLO_REMOTE_KEY
- case UI_EVENT_PIC_ASPECT:
- #endif
- case UI_EVENT_PIC_MOD:
- if ((APP_DVB_Playback_GetProgStateByHandle(eNetType, AL_DB_INVALIDHDL) == MID_PLAYBK_PROG_STATE_LOCKED)
- #ifdef CONFIG_SUPPORT_PVR
- &&(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- #endif
- )
- {
- break;
- }
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTHOTEL, 0,
- sizeof(APP_SETTING_FactoryHotel_t), &(g_stFactoryHotelData));
- if (g_stFactoryHotelData.HotelModeOnOff == 1&&g_stFactoryHotelData.PictureLock == 1)
- {
- dvb_printf("[%s] Picture Option has been Lock On!!\n",__FUNCTION__);
- break;
- }
- #if 0
- TVFE_GetAPPMuteFlag(&bAPPMuteEn);
- TVFE_GetTvfeMuteFlag(&bTvfeMuteEn);
- if ((bAPPMuteEn == DTV_TRUE) || (bTvfeMuteEn == DTV_TRUE))
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- al_uint8 bSignalState = al_false;
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if((bSignalState != AL_DVB_MONITOR_VALUE_TRUE)
- ||(!((APP_DVB_Mheg5_GetBootCarouselStatus() == MHEG5_BOOT_CAROUSEL_EXISTED)
- && APP_Area_SupportDtg())))
- {
- break;
- }
- #else
- break;
- #endif
- }
- if ((eServiceType == AL_RECTYPE_DVBRADIO)
- #ifdef CONFIG_SUPPORT_PVR //if playing pvr file, allow to set pic mode
- && !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY)
- #endif
- )
- {
- break; //zhongbaoxing added for mantis bug 0136063 @20110525
- }
- TotalNum = DVBApp_Get_TotalNumber();
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (((TotalNum > 0) && (bSignalState == AL_DVB_MONITOR_VALUE_TRUE))
- #ifdef CONFIG_SUPPORT_PVR //if playing pvr file, allow to set pic mode
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY)
- #endif
- )
- #endif
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- #endif
- {
- _DVBApp_CloseAllMenu();
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_BANNER, dMessage);
- }
- break;
- case UI_EVENT_SLEEP:
- if ((APP_DVB_Playback_GetProgStateByHandle(eNetType, AL_DB_INVALIDHDL) == MID_PLAYBK_PROG_STATE_LOCKED)
- #ifdef CONFIG_SUPPORT_PVR
- &&(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- #endif
- )
- {
- break;
- }
- #if 0
- TVFE_GetAPPMuteFlag(&bAPPMuteEn);
- TVFE_GetTvfeMuteFlag(&bTvfeMuteEn);
- if ((bAPPMuteEn == DTV_TRUE) || (bTvfeMuteEn == DTV_TRUE))
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- al_uint8 bSignalState = al_false;
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if((bSignalState != AL_DVB_MONITOR_VALUE_TRUE)
- ||(!((APP_DVB_Mheg5_GetBootCarouselStatus() == MHEG5_BOOT_CAROUSEL_EXISTED)
- && APP_Area_SupportDtg())))
- {
- break;
- }
- #else
- break;
- #endif
- }
- #endif
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- #endif
- {
- _DVBApp_CloseAllMenu();
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_BANNER, dMessage);
- }
- break;
- case UI_EVENT_SND_MOD:
- #ifdef CELLO_REMOTE_KEY
- case UI_EVENT_SOUND_MTS:
- #endif
- #ifdef SUPPORT_SMODE_UNMUTE
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- if(g_stUserInfoData.Mute)
- {
- if (CECTV_GetHDMISystemAudioMode()&& APP_Check_CEC_DEVICE_Status())
- {
- cec_RemoteControlPassThrough(CECTV_KEY_MUTE);
- cec_RemoteControlPassThrough(CECTV_KEY_MUTE_RELEASE);
- }
- }
- _APP_GUIOBJ_Sound_SetMuteStatus();
- #endif
- if ((APP_DVB_Playback_GetProgStateByHandle(eNetType, AL_DB_INVALIDHDL) == MID_PLAYBK_PROG_STATE_LOCKED)
- #ifdef CONFIG_SUPPORT_PVR
- &&(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- #endif
- )
- {
- break;
- }
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTHOTEL, 0,
- sizeof(APP_SETTING_FactoryHotel_t), &(g_stFactoryHotelData));
- if (g_stFactoryHotelData.HotelModeOnOff == 1&&g_stFactoryHotelData.SoundLock== 1)
- {
- dvb_printf("[%s] Sound Option has been Lock On!!\n",__FUNCTION__);
- break;
- }
- #if 0
- TVFE_GetAPPMuteFlag(&bAPPMuteEn);
- TVFE_GetTvfeMuteFlag(&bTvfeMuteEn);
- if ((bAPPMuteEn == DTV_TRUE) || (bTvfeMuteEn == DTV_TRUE))
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- al_uint8 bSignalState = al_false;
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if((bSignalState != AL_DVB_MONITOR_VALUE_TRUE)
- ||(!((APP_DVB_Mheg5_GetBootCarouselStatus() == MHEG5_BOOT_CAROUSEL_EXISTED)
- && APP_Area_SupportDtg())))
- {
- break;
- }
- #else
- break;
- #endif
- }
- TotalNum = DVBApp_Get_TotalNumber();
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (((TotalNum > 0) && (bSignalState == AL_DVB_MONITOR_VALUE_TRUE))
- #ifdef CONFIG_SUPPORT_PVR //if playing pvr file, allow to set pic mode
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY)
- #endif
- )
- #endif
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- #endif
- {
- _DVBApp_CloseAllMenu();
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_BANNER, dMessage);
- }
- break;
- case UI_EVENT_8:
- case UI_EVENT_0:
- case UI_EVENT_1:
- case UI_EVENT_2:
- case UI_EVENT_3:
- case UI_EVENT_4:
- case UI_EVENT_5:
- case UI_EVENT_6:
- case UI_EVENT_7:
- case UI_EVENT_9:
- case UI_EVENT_10:
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- if(dMessage == UI_EVENT_10)
- {
- if(APP_Factory_GetAutoTestOnOff() == TRUE)
- {
- APP_Factory_SetAutoTestSourceChange(dMessage);
- break;
- }
- }
- #endif
- #if 0 //def CONFIG_SUPPORT_PVR
- if ((u8MidRecState != MID_REC_STATUS_STOP) && (MID_REC_MODE_AUTO != u8MIDRecMode))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BANNER))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_BANNER);
- }
- if (MID_REC_MODE_TIMESHIFT_AFTER_REC == u8MIDRecMode)
- {
- g_u32NumEvent = dMessage;
- g_bIsNumKey = TRUE;
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_STOP_CHANNEL_CHANGE);
- break;
- }
- else if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- g_u32NumEvent = dMessage;
- g_bIsNumKey = TRUE;
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_STOP_CHANNEL_CHANGE);
- break;
- }
- }
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- #endif
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM);
- }
- else
- {
- _DVBApp_HidePopupDisplay();
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PROGNUM, (dMessage - UI_EVENT_0));
- }
- break;
- #ifdef CONFIG_SUPPORT_PVR
- case UI_EVENT_REC:
- #ifdef REMINDER_OLNY_NO_RECORD
- break;
- #endif
- dvb_printf("UI_EVENT_REC");
- #if defined(SUPPORT_HOTEL_MODE_PVR_FUNCTION_CONTROL)
- if((g_stFactoryHotelData.HotelModeOnOff)&&(!g_stFactoryHotelData.PVRFunction))
- {
- break;
- }
- #elif defined(SUPPORT_PVR_ONOFF)
- if(!g_stSetupData.PVROnOff)
- {
- break;
- }
- #endif
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC))
- {
- dvb_printf("double rec ,goto duration");
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_RECDURATIONTIME, 0);
- }
- else
- {
- if (u8MidRecState == MID_REC_STATUS_STOP)
- {
- if (DVBApp_CheckForRecord(MID_REC_MODE_MANUAL) != SP_SUCCESS)
- {
- break;
- }
- #ifdef CONFIG_SUPPORT_MHEG5
- if (APP_Area_SupportDtg() && SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_STOP_MHEG_FOR_REC);
- }
- else
- #endif
- {
- #ifndef SUPPORT_PVR_SPEC_START_NO_POP
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_START);
- #else
- dvb_printf("start record is call\n");
- _APP_GUIOBJ_DVB_PvrRecDurationTime_ResetDurTime();
- _DVBApp_CloseAllMenu();
- DVBApp_StartRecord(MID_REC_MODE_MANUAL);
- #endif
- }
- break;
- }
- #ifdef SUPPORT_SPEC_PVR_RECORD
- else if ((MID_REC_MODE_MANUAL != u8MIDRecMode)
- && !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- { //if timeshifting, then pop to ask stop timeshift and start record
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_STOP_TSHIFT_TO_REC);
- }
- #endif
- }
- break;
- case UI_EVENT_STOP:
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef SUPPORT_SUBTITLE_ON_PG
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU) == false)
- #endif
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- #endif
- if ((MID_REC_MODE_AUTO == u8MIDRecMode) && ((MID_REC_STATUS_START == u8MidRecState) || (!APP_GUIOBJ_DVB_PvrPlayInfo_GetStopPopFlag())))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BANNER)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_MULTIAUD)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- break;
- }
- if (PVR_STATE_STOP != APP_GUIOBJ_DVB_PvrPlayInfo_GetRecState())
- {
- APP_GUIOBJ_DVB_PvrPlayInfo_StopTimeshift();
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO);
- }
- }
- else
- {
- if (((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC)) ||
- (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE)))&&(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO)))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_STOP);
- }
- else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- if (MID_REC_MODE_AUTO == u8MIDRecMode)
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO);
- }
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_STOP);
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, dMessage, 0);
- }
- }
- }
- break;
- case APP_DVB_GLOBAL_EVENT_DTV_MEDIA_INIT_FAIL:
- case APP_DVB_GLOBAL_EVENT_DTV_MEDIA_INIT_SUCCESSFUL:
- case APP_DVB_GLOBAL_EVENT_PVR_RATING_UPDATE:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY, dMessage, dParam);
- break;
- }
- break;
- #ifdef CONFIG_CIPLUS_SUPPORT_PVR
- case APP_DVB_GLOBAL_EVENT_PVR_CIENQ_UNBLANK:
- if ( SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CI_ENQ))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_CI_ENQ);
- }
- break;
- case APP_DVB_GLOBAL_EVENT_PVR_TRICK_MODE_CONTROL:
- if( SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, dParam) )
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, dParam, dMessage, 0);
- }
- break;
- #endif
- case APP_DVB_GLOBAL_EVENT_DTV_MEDIA_INIT_PLAYSTATE:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY, dMessage, 0);
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, dMessage, 0);
- break;
- }
- {
- UINT8 u8Mute = 0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- u8Mute = g_stUserInfoData.Mute;
- if (u8Mute == FALSE)
- {
- APP_Audio_SetMute(FALSE, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, APP_SOURCE_DTV);
- }
- MID_TSPLParser_Resume();
- #ifdef CONFIG_SUPPORT_SUBTITLE
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- if (g_stUserInfoData.Subtitle == 1)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLE))
- {
- APP_GUIOBJ_SubTitle_Start();
- }
- }
- #endif
- }
- break;
- case APP_DVB_GLOBAL_EVENT_PVR_UPDATE_TIME:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, dMessage, 0);
- break;
- }
- break;
- case APP_DVB_GLOBAL_EVENT_DTV_MEDIA_PLAYDONE:
- case APP_DVB_GLOBAL_EVENT_DTV_MEDIA_PLAYREADERROR:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY, dMessage, 0);
- break;
- }
- if ((MID_REC_MODE_AUTO == u8MIDRecMode)
- || (MID_REC_MODE_MANUAL == u8MIDRecMode))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO);
- }
- APP_GUIOBJ_DVB_PvrPlayInfo_StopTimeshift();
- }
- else if (MID_REC_MODE_TIMESHIFT_AFTER_REC == u8MIDRecMode)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, dMessage, 0);
- break;
- }
- APP_GUIOBJ_DVB_PvrPlayInfo_StopTimeshift();
- }
- break;
- case APP_DVB_GLOBAL_EVENT_SWITCH_FILEPLAY:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY);
- }
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOURCE)
- && !APP_MenuMgr_Exist_Main_Menu())
- {
- #ifdef CONFIG_CHIP_512L
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- #endif
- SYSAPP_GOBJ_CreateGUIObject_WithPara(
- SYS_APP_DVB, DVB_GUIOBJ_RECORDLIST, dParam);
- }
- #ifdef CONFIG_CHIP_512L
- {
- extern void APP_GUIOBJ_DVB_PvrFilePlay_OpenMessage(PopmsgPrompt_t popmsg, int timeout);
- APP_GUIOBJ_DVB_PvrFilePlay_OpenMessage(POPMSG_PROMPT_PLEASEWAIT, 8);
- }
- #endif
- break;
- case APP_DVB_GLOBAL_EVENT_CLOSE_FILEPLAY:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY);
- }
- break;
- case APP_DVB_GLOBAL_EVENT_REC_NOTIFY_DISK_FULL:
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- DVBApp_StopRecord();
- }
- else if ((MID_REC_MODE_TIMESHIFT_AFTER_REC == u8MIDRecMode) ||
- (MID_REC_MODE_AUTO == u8MIDRecMode))
- {
- DVBApp_StopTimeshift(TRUE);
- }
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_PVR_DISK_FULL);
- break;
- case APP_DVB_GLOBAL_EVENT_REC_NOTIFY_WRITE_ERR:
- case APP_DVB_GLOBAL_EVENT_REC_NOTIFY_GFS_FAILURE:
- if (MID_REC_MODE_MANUAL == u8MIDRecMode|| MID_REC_MODE_UNATTENDED == u8MIDRecMode)
- {
- DVBApp_StopRecord();
- if(dMessage == APP_DVB_GLOBAL_EVENT_REC_NOTIFY_GFS_FAILURE)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_ENTER_NOT_VALID);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_WRITE_ERROR);
- }
- }
- else if ((MID_REC_MODE_TIMESHIFT_AFTER_REC == u8MIDRecMode) ||
- (MID_REC_MODE_AUTO == u8MIDRecMode))
- {
- DVBApp_StopTimeshift(TRUE);
- if(dMessage == APP_DVB_GLOBAL_EVENT_REC_NOTIFY_GFS_FAILURE)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_ENTER_NOT_VALID);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_WRITE_ERROR);
- }
- }
- if (APP_PVR_TIMESHIFT_AUTO == u8AutoTimeShift)
- {
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- }
- break;
- case UI_EVENT_GOTO:
- if ((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC)) ||
- (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE)))
- {
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_GOTO))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_GOTO, 0);
- }
- }
- break;
- case UI_EVENT_FF:
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef SUPPORT_SUBTITLE_ON_PG
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU) == false)
- #endif
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- #endif
- break;
- case UI_EVENT_FR:
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef SUPPORT_SUBTITLE_ON_PG
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU) == false)
- #endif
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- #endif
- if ((MID_REC_MODE_AUTO == u8MIDRecMode) && (u8MidRecState != MID_REC_STATUS_STOP))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BANNER)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_MULTIAUD)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, PVR_PLAYINFO_ENTERFR);
- }
- break;
- case UI_EVENT_PREV:
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef SUPPORT_SUBTITLE_ON_PG
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU) == false)
- #endif
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- #endif
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, dMessage, 0);
- }
- break;
- case UI_EVENT_NEXT:
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef SUPPORT_SUBTITLE_ON_PG
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU) == false)
- #endif
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- #endif
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, dMessage, 0);
- }
- break;
- case APP_DVB_GLOBAL_EVENT_REC_START_FROM_EPG:
- {
- AL_RecHandle_t hRecProg = AL_DB_INVALIDHDL;
- al_uint32 CurTimeInSec = 0;
- al_uint32 EndTimeInsec = 0;
- EndTimeInsec = APP_GUIOBJ_DVB_Epg_GetEndTime();
- AL_Time_GetCurTimeInSecs(&CurTimeInSec);
- if ((CurTimeInSec+10) >= EndTimeInsec)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_ENTER_NOT_VALID);
- }
- hRecProg = APP_GUIOBJ_DVB_Epg_GetRecHdl();
- _DVBApp_CloseAllMenu();
- if ((hRecProg != AL_DB_INVALIDHDL)
- && (hCurProg != hRecProg))
- {
- AL_DB_EDBType_t db_type;
- AL_DB_ERecordType_t eServiceType;
- AL_DB_GetRecordType(hRecProg, &db_type, &eServiceType);
- _DVBApp_Zapping(eServiceType, hRecProg, FALSE, 0, FALSE);
- }
- _DVBApp_CloseAllMenu();
- _APP_GUIOBJ_DVB_PvrRecDurationTime_ResetDurTime();
- DVBApp_StartRecord(MID_REC_MODE_MANUAL);
- APP_GUIOBJ_DVB_PvrRecDurationTime_SetDurTime(EndTimeInsec);
- }
- break;
- #endif
- case UI_EVENT_FREEZE:
- {
- MID_DISP_DTVGetVideoMute(&eMuteSt);
- if ((eMuteSt == MID_DISP_MUTE)
- || (eMuteSt == MID_DISP_MUTE_BY_APP)
- ||(eMuteSt == MID_DISP_MUTE_BY_TVFE)
- ||(eMuteSt == MID_DISP_MUTE_BY_VIP))
- {
- break;
- }
- }
- /* here, judge database empty or not */
- {
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- if (!bHasValidServ)
- {
- /* database empty, do nothing */
- break;
- }
- }
- #ifdef CONFIG_SUPPORT_PVR
- if ((MID_REC_STATUS_STOP != u8MidRecState) && (MID_REC_MODE_MANUAL != u8MIDRecMode))
- {
- break; //when timeshift invalid freeze function
- }
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, UI_EVENT_FREEZE, (UINT32)&sdRet);
- if (sdRet == SP_ERR_FAILURE)
- {
- break;
- }
- }
- }
- #endif
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- AL_RecHandle_t hTempHdl;
- MID_PlaybackGetCurProgHandle(al_null, &hTempHdl);
- DBPIDInfo_t stVideoPid;
- memset(&stVideoPid,0xff,sizeof(DBPIDInfo_t));
- AL_DB_QueryDetailFieldByName(hTempHdl, (al_uint8 *)"stVideoPid", (al_void *)&stVideoPid);
- if ((stVideoPid.usDataPID&0x1fff) == 0x1fff)
- #else
- if (eServiceType == AL_RECTYPE_DVBRADIO)
- #endif
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_RADIO_CHANNEL, UI_EVENT_NULL);
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- #ifdef CONFIG_SUPPORT_SUBTITLE
- UINT8 tmpIdx = 0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- tmpIdx = g_stUserInfoData.Subtitle;
- #endif
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- #ifdef CONFIG_SUPPORT_SUBTITLE
- if (tmpIdx == DVB_SWITCH_ON)
- {
- #ifdef Subtitle_Freeze
- AL_Subtitle_SetFreeze(al_false);
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- }
- #endif
- //zhongbaoxing added for mantis 0164987 @20120117 +++
- #ifdef CONFIG_SUPPORT_MHEG5
- {
- #ifdef CONFIG_SUPPORT_SUBTITLE
- if (tmpIdx == DVB_SWITCH_OFF)
- #endif
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5);
- }
- }
- #endif
- //zhongbaoxing added for mantis 0164987 @20120117 ---
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- MID_PlaybackStreamResume(1);
- g_PauseState = FALSE;
- }
- else
- {
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (bSignalState == AL_DVB_MONITOR_VALUE_TRUE)
- {
- if (DVBApp_CheckServiceNotAvailable() == TRUE)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- g_PauseState = TRUE;
- //zhongbaoxing added for mantis 0164987 @20120117 +++
- #ifdef CONFIG_SUPPORT_MHEG5
- //int mh5Status = 0;
- //MHEG5APP_GetMh5Status(&mh5Status);
- //if ((mh5Status&MHEG5APP_STATUS_OSD_UPDATED))
- /*if( APP_DVB_Mheg5_GetBootCarouselStatus()==MHEG5_BOOT_CAROUSEL_EXISTED && APP_DVB_Mheg5_GetMheg5DisplayStatus() ) //Gahu:D0326
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- g_PauseState = FALSE;
- break;
- }
- else
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_MH5);
- }*/ //for mantis: 21255
- #endif
- //zhongbaoxing added for mantis 0164987 @20120117 ---
- #ifdef CONFIG_SUPPORT_SUBTITLE
- if (tmpIdx == DVB_SWITCH_ON)
- {
- #ifdef Subtitle_Freeze
- AL_Subtitle_SetFreeze(al_true);
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE | OSD2CTRLMDL_SUB);
- #endif
- }
- #endif
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_FREEZE, 0);
- MID_PlaybackStreamPause(1);
- g_PauseState = TRUE;
- }
- }
- break;
- case UI_EVENT_TVRADIO:
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_REC_STATUS_STOP != u8MidRecState)// && (MID_REC_MODE_AUTO != u8MIDRecMode))
- {
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_STOP_FOR_TVRADIOKEY);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_STOP_FOR_TVRADIOKEY);
- }
- break;
- }
- #if 0
- else if ((MID_REC_STATUS_STOP != u8MidRecState) && (MID_REC_MODE_AUTO == u8MIDRecMode))
- {
- DVBApp_StopTimeshift(TRUE);
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- }
- #endif
- #endif
- if (APP_DVB_Playback_SwapServiceType(eNetType, (AL_DB_ERecordType_t *)&NextServiceType, &u32TotalNum) != AL_SUCCESS)
- {
- if(NextServiceType == AL_RECTYPE_DVBRADIO)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NO_RADIO);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NO_DTVORDATA);
- }
- }
- break;
- #ifdef CELLO_REMOTE_KEY
- case UI_EVENT_ATV:
- #endif
- case UI_EVENT_ATVDTV:
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_REC_STATUS_STOP != u8MidRecState)// && (MID_REC_MODE_AUTO != u8MIDRecMode))
- {
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_STOP_FOR_TVRADIOKEY);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_STOP_FOR_TVRADIOKEY);
- }
- break;
- }
- #endif
- if ((eSourType == APP_SOURCE_DTV) || (eSourType == APP_SOURCE_RADIO))
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_ATV);
- }
- break;
- break;
- #ifdef SUPPORT_SOURCE_DVBTCS
- case UI_EVENT_DVBC:// For DVB-C shortcut key
- case UI_EVENT_RED:
- #ifdef CONFIG_DVB_SYSTEM_DVBC_SUPPORT
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- RFtype = g_stChannelData.TV_Connection;
- if(RFtype != APP_RF_TYPE_DVB_C)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- StringId = APP_GUIOBJ_Channel_GetStringIDByRFType(APP_RF_TYPE_DVB_C);
- APP_GUIOBJ_Channel_SetRFTypeByStringID(StringId);
- }
- else
- {
- #ifdef CONFIG_DVB_SYSTEM_DVBT_SUPPORT
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- StringId = APP_GUIOBJ_Channel_GetStringIDByRFType(APP_RF_TYPE_DVB_T);
- APP_GUIOBJ_Channel_SetRFTypeByStringID(StringId);
- #endif
- }
- #endif
- break;
- case UI_EVENT_DVBS:// For DVB-S shortcut key
- case UI_EVENT_GREEN:
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- RFtype = g_stChannelData.TV_Connection;
- if(RFtype != APP_RF_TYPE_DVB_S)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- StringId = APP_GUIOBJ_Channel_GetStringIDByRFType(APP_RF_TYPE_DVB_S);
- APP_GUIOBJ_Channel_SetRFTypeByStringID(StringId);
- }
- else
- {
- #ifdef CONFIG_DVB_SYSTEM_DVBT_SUPPORT
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- StringId = APP_GUIOBJ_Channel_GetStringIDByRFType(APP_RF_TYPE_DVB_T);
- APP_GUIOBJ_Channel_SetRFTypeByStringID(StringId);
- #endif
- }
- #endif
- break;
- #endif
- #if 0//#ifdef CONFIG_SUPPORT_MHEG5
- case UI_EVENT_RED:
- case UI_EVENT_GREEN:
- case UI_EVENT_BLUE:
- case UI_EVENT_YELLOW:
- if (APP_Area_SupportDtg())
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- break;
- #endif
- #ifdef TEAC_BLUE_KEY_FUNCTION
- case UI_EVENT_BLUE:
- {
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- AL_DB_ERecordType_t eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- if (eServiceType == AL_RECTYPE_DVBRADIO)
- {
- if (_DVB_GetPanelControlType()== APP_PANEL_POWER_UP)
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- #endif
- {
- //APP_Panel_SetPowerSequence(APP_PANEL_POWER_DOWN);
- _DVB_SetPanelControlType(APP_PANEL_POWER_DOWN);
- }
- }
- else if (_DVB_GetPanelControlType()== APP_PANEL_POWER_DOWN)
- {
- //APP_Panel_SetPowerSequence(APP_PANEL_POWER_UP);
- _DVB_SetPanelControlType(APP_PANEL_POWER_UP);
- }
- }
- break;
- }
- #endif
- #ifdef SUPPORT_AD_DESCRIPTION
- case UI_EVENT_AB:
- {
- UINT8 u8Mute = 0;
- u8Mute = g_stUserInfoData.Mute;
- if (u8Mute == TRUE)
- {
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (bSignalState == AL_DVB_MONITOR_VALUE_TRUE)
- {
- APP_Audio_SetMute(FALSE, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- else
- {
- APP_Audio_SetMute(FALSE, TRUE, APP_MUTE_MODE_NO_SIGNALE, eSourType);
- }
- g_stUserInfoData.Mute = FALSE;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO,
- ITEM_OFFSET(APP_SETTING_UserInfo_t, Mute),
- sizeof(g_stUserInfoData.Mute), &(g_stUserInfoData.Mute));
- #ifdef SUPPORT_STORE_MUTE_FLAG
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO,
- ITEM_OFFSET(APP_SETTING_UserInfo_t, Mute),
- sizeof(g_stUserInfoData.Mute));
- #endif
- }
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(
- SYS_APP_DVB, APP_GUIOBJ_MUTE,
- APP_INTRA_EVENT_HIDE_MUTE, 0);
- break;
- }
- break;
- #endif
- #ifdef CONFIG_SUPPORT_HELP_MENU
- case UI_EVENT_HELP:
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_HELP_MENU, 0);
- break;
- #endif
- #ifdef SUPPORT_HKC_FACTORY_REMOTE
- case UI_EVENT_HKC_ENTER_BURNINGMODE:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- _DVBApp_Exit_All_Menu();
- g_stFactoryUserData.n_FactSet_BurningMode = 1;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
- sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
- sizeof(g_stFactoryUserData));
- MID_TVFE_SetBurnIn(1, 0, 1);
- //APP_Cul_Fm_CheckAndStartBurningMode();
- }
- break;
- #ifdef CONFIG_DVB_SYSTEM_DVBC_SUPPORT
- case UI_EVENT_HKC_DVBC:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, UI_EVENT_RETURN, 0);
- APP_GUIOBJ_Channel_SetRFType(FRONTEND_CONNECT_TYPE_DVB_C, AL_DB_INVALIDHDL);
- }
- break;
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- case UI_EVENT_HKC_DVBS:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, UI_EVENT_RETURN, 0);
- APP_GUIOBJ_Channel_SetRFType(FRONTEND_CONNECT_TYPE_DVB_S, AL_DB_INVALIDHDL);
- }
- break;
- #endif
- #ifdef CONFIG_CI_SUPPORT
- case UI_EVENT_HKC_CIINFO:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, APP_DVB_GLOBAL_EVENT_OBJECT_OPEN|PASS_TO_SYSAPP, (DVB_GUIOBJ_CI_MENU|(1<<16)));
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_CI_MENU, APP_DVB_INTRA_EVENT_CI_CAM_ON_INIT, dParam);
- }
- break;
- #endif
- case UI_EVENT_HKC_DVD:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_DVD);
- }
- break;
- case UI_EVENT_HKC_FACTORYMENU:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, UI_EVENT_FACTORY, UI_EVENT_HKC_FACTORYMENU);
- }
- break;
- case UI_EVENT_HKC_VERSION:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_FM_FACTORYSETTING))
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_FM_FACTORYSETTING, 1);
- Factory_Ver_Debug();
- }
- }
- break;
- case UI_EVENT_HKC_VOLUME80:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- APP_Audio_SetVolume(80);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTHOTEL, 0,
- sizeof(APP_SETTING_FactoryHotel_t), &(g_stFactoryHotelData));
- g_stVariationalData.Volume = 80;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL,
- ITEM_OFFSET(APP_SETTING_Variational_t, Volume),
- sizeof(g_stVariationalData.Volume),&(g_stVariationalData.Volume));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL,
- ITEM_OFFSET(APP_SETTING_Variational_t, Volume), sizeof(g_stVariationalData.Volume));
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_ADJUST, ADJUST_VOLUME);
- }
- break;
- case UI_EVENT_HKC_VOLUMEUP10:
- case UI_EVENT_HKC_VOLUMEDOWN10:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTHOTEL, 0,
- sizeof(APP_SETTING_FactoryHotel_t), &(g_stFactoryHotelData));
- UINT8 u8VolumeIdx = g_stVariationalData.Volume;
- if (dMessage == UI_EVENT_HKC_VOLUMEUP10)
- {
- u8VolumeIdx += 10;
- g_stVariationalData.Volume = u8VolumeIdx >= ADJUST_MAX_VALUE ? ADJUST_MAX_VALUE : u8VolumeIdx;
- }
- else if (dMessage == UI_EVENT_HKC_VOLUMEDOWN10)
- {
- g_stVariationalData.Volume = u8VolumeIdx <= 10 ? ADJUST_MIN_VALUE : u8VolumeIdx - 10;
- }
- APP_Audio_SetVolume((UINT32)g_stVariationalData.Volume);
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL,
- ITEM_OFFSET(APP_SETTING_Variational_t, Volume),
- sizeof(g_stVariationalData.Volume), &(g_stVariationalData.Volume));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL,
- ITEM_OFFSET(APP_SETTING_Variational_t, Volume), sizeof(g_stVariationalData.Volume));
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_ADJUST, ADJUST_VOLUME);
- }
- break;
- case UI_EVENT_HKC_RESET:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK,
- APP_DVB_INTRA_EVENT_STOP_PLAYBACK, PLAYBACK_STOP_ALL);
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_STATEMAX, eSourType);
- APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_STATEMAX, eSourType);
- #ifdef CONFIG_ATV_SUPPORT
- AL_DB_Reset(AL_DBTYPE_DVB_ATV, al_true);
- #endif
- #if(defined CONFIG_DVB_SYSTEM_DVBT_SUPPORT)
- AL_FW_SwitchDBModule(AL_DBTYPE_DVB_T);
- AL_DB_Reset(AL_DBTYPE_DVB_T, al_true);
- AL_Event_UnLockChannels(AL_DBTYPE_DVB_T, RESERVED_ORIGINAL_NET_ID, RESERVED_TRANSPORT_ID, RESERVED_SERVICE_ID);
- AL_PR_DeleteAllSch(AL_DBTYPE_DVB_T,AL_PR_EVT_REM | AL_PR_SRV_REM);
- #endif
- #if(defined CONFIG_DVB_SYSTEM_DVBC_SUPPORT)
- AL_FW_SwitchDBModule(AL_DBTYPE_DVB_C);
- AL_DB_Reset(AL_DBTYPE_DVB_C, al_true);
- AL_Event_UnLockChannels(AL_DBTYPE_DVB_C, RESERVED_ORIGINAL_NET_ID, RESERVED_TRANSPORT_ID, RESERVED_SERVICE_ID);
- AL_PR_DeleteAllSch(AL_DBTYPE_DVB_C,AL_PR_EVT_REM | AL_PR_SRV_REM);
- #endif
- #if(defined CONFIG_DVB_SYSTEM_DVBS_SUPPORT)
- AL_FW_SwitchDBModule(AL_DBTYPE_DVB_S);
- AL_DB_Reset(AL_DBTYPE_DVB_S, al_true);
- AL_Event_UnLockChannels(AL_DBTYPE_DVB_S, RESERVED_ORIGINAL_NET_ID, RESERVED_TRANSPORT_ID, RESERVED_SERVICE_ID);
- AL_PR_DeleteAllSch(AL_DBTYPE_DVB_S,AL_PR_EVT_REM | AL_PR_SRV_REM);
- DVBApp_LoadCustomerDB(AL_DBTYPE_DVB_S);
- AL_DB_Sync(AL_DBTYPE_DVB_S, al_true);
- #endif
- App_Data_UserSetting_Restore();
- App_Data_UserSetting_FM_Hotel_Restore();
- App_Data_UserSetting_ResetLangContry_ByFMDefaultValue();
- APP_Video_ResetTVSetting();
- GL_TaskSleep(2000);
- MAINAPP_SendGlobalEvent(UI_EVENT_POWER, AL_POWER_STATE_OFF);
- }
- break;
- case UI_EVENT_HKC_RESET_DEFAULT_FAC:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- extern void _APP_GUIOBJ_FM_FactorySetting_Shipping(void);
- _APP_GUIOBJ_FM_FactorySetting_Shipping();
- }
- break;
- case UI_EVENT_HKC_TV:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_ATV);
- }
- break;
- case UI_EVENT_HKC_AV:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_AV);
- }
- break;
- case UI_EVENT_HKC_AV2:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_AV1);
- }
- break;
- case UI_EVENT_HKC_PC:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_PC);
- }
- break;
- case UI_EVENT_HKC_YPBPR:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_YPBPR);
- }
- break;
- case UI_EVENT_HKC_YPBPR2:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_YPBPR1);
- }
- break;
- case UI_EVENT_HKC_HDMI:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_HDMI);
- }
- break;
- case UI_EVENT_HKC_HDMI2:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_HDMI1);
- }
- break;
- case UI_EVENT_HKC_HDMI3:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_HDMI2);
- }
- break;
- case UI_EVENT_HKC_SCART:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_SCART);
- }
- break;
- case UI_EVENT_HKC_USB:
- if(g_stFactoryUserData.n_FactSet_FactoryRemote == 1)
- {
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_MEDIA);
- }
- break;
- #endif
- case UI_EVENT_PAUSE:
- case UI_EVENT_PLAY_PAUSE:
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef SUPPORT_SUBTITLE_ON_PG
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU) == false)
- #endif
- if (SYSTEM_APP_SUCCESS != SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &iFocusedIndex))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5))
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, dMessage, (UINT32)&sdRet);
- if (sdRet == SP_SUCCESS)
- {
- break;
- }
- }
- }
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- if ((MID_REC_MODE_AUTO == u8MIDRecMode) && (u8MidRecState != MID_REC_STATUS_STOP))
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BANNER)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_MULTIAUD)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, PVR_PLAYINFO_ENTERPAUSE);
- }
- #if 0//def SUPPORT_PVR_RECORD_PLAY_CURRENTRECORD
- else if((MID_REC_MODE_MANUAL == u8MIDRecMode) && (u8MidRecState != MID_REC_STATUS_STOP))
- {
- if (APP_DVB_Playback_GetProgStateByHandle(eNetType, AL_DB_INVALIDHDL)
- == MID_PLAYBK_PROG_STATE_LOCKED)
- {
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BANNER)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_MULTIAUD))
- {
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- if (DVBAPP_Pvr_GetRECPlayFlag())
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, PVR_PLAYINFO_ENTERNORMAL);
- }
- else
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, PVR_PLAYINFO_ENTERPAUSE);
- }
- }
- }
- #else
- else
- {
- if ((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC)) &&
- (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO)))
- {
- MID_RecorderPauseResume();
- _DVBApp_Recorder_PauseResume();
- g_bIsPlaykey = TRUE;
-
- }
- else if ((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE)) &&
- (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO)))
- {
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (bSignalState != AL_DVB_MONITOR_VALUE_TRUE)
- {
- break;
- }
- switch (APP_DVB_Playback_GetProgStateByHandle(eNetType, hProg))
- {
- case MID_PLAYBK_PROG_STATE_ONLY_VIDEO_SCRAMBLED:
- dvb_printf("Error: %s program state scrambled!\n", __FUNCTION__);
- case MID_PLAYBK_PROG_STATE_AUDIO_VIDEO_SCRAMBLED:
- dvb_printf("Error: %s program state scrambled!\n", __FUNCTION__);
- case MID_PLAYBK_PROG_STATE_ONLY_AUDIO_SCRAMBLED:
- dvb_printf("Error: %s program state scrambled!\n", __FUNCTION__);
- case MID_PLAYBK_PROG_STATE_TEMP_SERVICE:
- dvb_printf("Error: %s program state data service!\n", __FUNCTION__);
- case MID_PLAYBK_PROG_STATE_NOT_RUNNING:
- dvb_printf("Error: %s program state not running!\n", __FUNCTION__);
- case MID_PLAYBK_PROG_STATE_LOCKED:
- dvb_printf("Error: %s program state locked!\n", __FUNCTION__);
- return 0;
- default:
- break;
- }
- MID_RecorderPauseResume();
- _DVBApp_Recorder_PauseResume();
- g_bIsPlaykey = FALSE;
-
- }
- }
- #endif
- break;
- #else
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- #endif
- case UI_EVENT_TIMESHIFT:
- #if (defined REMINDER_OLNY_NO_RECORD) || (defined CONFIG_PVR_DISABLE_TIMESHIFT)
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- #if defined(SUPPORT_HOTEL_MODE_PVR_FUNCTION_CONTROL)
- if((g_stFactoryHotelData.HotelModeOnOff)&&(!g_stFactoryHotelData.PVRFunction))
- {
- break;
- }
- #elif defined(SUPPORT_PVR_ONOFF)
- if(!g_stSetupData.PVROnOff)
- {
- break;
- }
- #endif
- if (u8MidRecState == MID_REC_STATUS_STOP)
- {
- if (DVBApp_CheckForRecord(MID_REC_MODE_TIMESHIFT_AFTER_REC) != SP_SUCCESS)
- {
- break;
- }
- #ifdef CONFIG_SUPPORT_MHEG5
- if (APP_Area_SupportDtg() && SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5)&& APP_DVB_Mheg5_GetMheg5DisplayStatus() == TRUE)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_STOP_MHEG_FOR_TIMESHIFT);
- }
- else
- #endif
- // #ifdef SUPPORT_TEAC_TIMESHIFT_CTRL
- #if defined(SUPPORT_TEAC_TIMESHIFT_CTRL) || defined(SUPPORT_PVR_SPEC_START_NO_POP)
- //for mantis 191631, TEAC spec. start timeshift immediately with no pop msg
- {
- PVR_DEBF(" ==timeshift start is called!!!== \n");
- _DVBApp_CloseAllMenu();
- DVBApp_StartRecord(MID_REC_MODE_TIMESHIFT_AFTER_REC);
- }
- #else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_START);
- }
- #endif
- break;
- }
- else if ((MID_REC_STATUS_STOP != u8MidRecState)
- && (MID_REC_MODE_TIMESHIFT_AFTER_REC == u8MIDRecMode))
- {
- PVR_DEBF(" dvb app stop timeshift -UI_EVENT_TIMESHIFT- \n");
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_STOP);
- }
- break;
- #else
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- case UI_EVENT_REC_LIST:
- #if (defined CONFIG_IR501)
- //case UI_EVENT_DEVLIST:
- #endif
- #if defined(SUPPORT_HOTEL_MODE_PVR_FUNCTION_CONTROL)
- if((g_stFactoryHotelData.HotelModeOnOff)&&(!g_stFactoryHotelData.PVRFunction))
- {
- break;
- }
- #elif defined(SUPPORT_PVR_ONOFF)
- if(!g_stSetupData.PVROnOff)
- {
- break;
- }
- #endif
- if (MID_RecorderIsCurRecording() != DRV_SUCCESS) //not allow to open timerlist when recording
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- #ifdef Subtitle_Freeze
- AL_Subtitle_SetFreeze(al_false);
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- }
- #ifdef SUB_CUSTOMER_Tianle
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST_FORTEAC, 0);
- #else
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_TIMERLIST, 0);
- #endif
- }
- break;
- case UI_EVENT_REC_FILE:
- #ifdef REMINDER_OLNY_NO_RECORD
- break;
- #endif
- #if defined(SUPPORT_HOTEL_MODE_PVR_FUNCTION_CONTROL)
- if((g_stFactoryHotelData.HotelModeOnOff)&&(!g_stFactoryHotelData.PVRFunction))
- {
- break;
- }
- #elif defined(SUPPORT_PVR_ONOFF)
- if(!g_stSetupData.PVROnOff)
- {
- break;
- }
- #endif
- if (!(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_RECORDLIST)))
- {
- #ifndef SUPPORT_TEAC_TIMESHIFT_CTRL
- if (u8MidRecState == MID_REC_STATUS_STOP)
- #endif
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- #ifdef Subtitle_Freeze
- AL_Subtitle_SetFreeze(al_false);
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_RECORDLIST, 0);
- }
- #ifndef SUPPORT_TEAC_TIMESHIFT_CTRL
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- }
- #endif
- }
- else
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_RECORDLIST);
- if (APP_DVB_Playback_GetProgStateByHandle(eNetType, AL_DB_INVALIDHDL) == MID_PLAYBK_PROG_STATE_LOCKED)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CHECKPWD);
- }
- }
- break;
- #endif
- /*#ifdef CONFIG_SUPPORT_PVR
- case APP_DVB_GLOBAL_EVENT_REC_DURATION_EXIT:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_RECDURATIONTIME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_RECDURATIONTIME);
- }
- break;
- case APP_DVB_GLOBAL_EVENT_REC_GOTO_EXIT:
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_GOTO);
- break;
- #endif*/
- case APP_GLOBAL_EVENT_POPMSG_YES:
- #ifdef CONFIG_CIPLUS_SUPPORT
- if (POPMSG_CONFIRM_ASK_PROFILE_ACTION == dParam)
- {
- APP_CIPLUS_ProfileAction(FALSE);
- }
- #endif
- #ifdef SUPPORT_NETWORK_UPDATE_RESCAN
- if( dParam == PLAYBACK_POPUP_CONFIRM_UPDATE_NWK_STATIC )
- {
- dvb_printf("Receive Freq change msg from afw! dvb_app received message which notice PSI Monitor has found some new freqs which need tune!!!!!!\n");
- AI_PSI_Monitor_UpdateCurrTpTSIDList();
- _DVBApp_Exit_All_Menu();
- _DVBApp_ShowPopup( DVB_APP_POP_MSG_NETWORK_UPDATING );
- APP_GUIOBJ_ScanProcess_SetCurrentSearchMode(SEARCH_D_FULL_FREQ_LIST_MODE);
- #ifdef SUPPORT_CHANGE_TS_DYNAMICALLY
- if( APP_Get_DTVHiddenScanState() )
- {
- APP_ScanProcess_Stop();
- APP_SetSrcChgFlag( TRUE );
- while( !AL_CS_IsStop() )
- {
- if( APP_Get_DTVHiddenScanState() )
- break;
- else
- GL_TaskSleep(50);
- }
- APP_SetSrcChgFlag( FALSE );
- }
- #endif
- APP_DTV_ScanProcess_Start(SEARCH_D_FULL_FREQ_LIST_MODE);
- break;
- }
- #endif
- #ifdef SUPPORT_DYNAMIC_MULTIPLEXES
- if (dParam == PLAYBACK_POPUP_PROMPT_OTH_TP_ADD_SRV)
- {
- _DVBApp_NewServicesToDatabase();
- }
- else
- if (dParam == PLAYBACK_POPUP_CONFIRM_REMOVE_SRV)
- {
- DVBApp_RemoveUnstableService();//zhongbaoxing added to remove not running services @20120210
- }
- else
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- if (dParam == POPMSG_CONFIRM_REC_REMIDER_TIME)
- {
- if(DVBApp_GetReminderTime2Show() > 1)//For confirm record ahead
- {
- memset(&g_stDetails,0,sizeof(AL_PR_details_t));
- memset(&g_stOldDetails,0,sizeof(AL_PR_details_t));
- AL_PR_GetById(g_dReminderId, &g_stDetails);
- AL_PR_GetById(g_dReminderId, &g_stOldDetails);
- DVBApp_PVRRec_SetTimerCancle();
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- (APP_DVB_GLOBAL_EVENT_PVRSCH | PASS_TO_SYSAPP), (UINT32)&g_stOldDetails);
- }
- }
- else if (dParam == POPMSG_CONFIRM_FIND_NEW_TSID)
- {
- dvb_printf("======POPMSG_CONFIRM_FIND_NEW_TSID YES\n");
- #ifdef CONFIG_DTV_SUPPORT
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- MID_PlaybackStreamResume(1);
- APP_SetPlaybackPauseState(FALSE);
- }
- bFindNewTSID = TRUE;
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_SCAN_PROCESS, SEARCH_D_FULL_FREQ_MODE);
- #endif
- //APP_GUIOBJ_DVB_PartitionList_PartitionFormat();
- }
- else if ((dParam == POPMSG_CONFIRM_START_RECORD)
- || (dParam == POPMSG_CONFIRM_STOP_MHEG_FOR_RECORD))
- {
- dvb_printf("start record is call\n");
- _DVBApp_CloseAllMenu();
- _APP_GUIOBJ_DVB_PvrRecDurationTime_ResetDurTime();
- DVBApp_StartRecord(MID_REC_MODE_MANUAL);
- }
- else if (dParam == POPMSG_CONFIRM_STOP_THIFT_TO_REC)
- {
- DVBApp_StopTimeshift(TRUE);
- _DVBApp_CloseAllMenu();
- _APP_GUIOBJ_DVB_PvrRecDurationTime_ResetDurTime();
- DVBApp_StartRecord(MID_REC_MODE_MANUAL);
- }
- #ifdef SUPPORT_PVR_REMINDER_CONFIRM_SPEC
- else if ((dParam == POPMSG_CONFIRM_STOP_REC_FOR_REMINDER)
- ||(dParam == POPMSG_CONFIRM_STOP_TSHIFT_FOR_REMINDER)
- ||(dParam == POPMSG_CONFIRM_STOP_REC_FOR_TIMER_REC)
- ||(dParam == POPMSG_CONFIRM_STOP_TSHIFT_FOR_TIMER_REC))
- {
- _DVBApp_StopRECForTimerConfirmDone(dParam);
- }
- #endif
- else if (dParam == POPMSG_CONFIRM_RECORDER_SPEED_NOT_ENOUGH)
- {
- INT32 iRet;
- dvb_printf("====== force to enter record !\n");
- _DVBApp_CloseAllMenu();
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_INIT);
- MID_Recorder_SetRecMode(MID_REC_MODE_MANUAL);
- iRet = APP_GUIOBJ_DVB_PvrRec_StartRecord();
- if (iRet != PVR_MSG_SUCCESS)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_ENTER_NOT_VALID);
- MID_Recorder_SetRecMode(MID_REC_MODE_MAX);
- APP_GUIOBJ_DVB_PvrRec_RegUninitCallback();
- return SP_ERR_FAILURE;
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC, 0);
- }
- else if ((dParam == POPMSG_CONFIRM_START_TIMESHIFT)
- || (dParam == POPMSG_CONFIRM_STOP_MHEG_FOR_TIMESHIFT))
- {
- _DVBApp_CloseAllMenu();
- DVBApp_StartRecord(MID_REC_MODE_TIMESHIFT_AFTER_REC);
- }
- else if (dParam == POPMSG_CONFIRM_TIMESHIFT_SPEED_NOT_ENOUGH)
- {
- INT32 iRet;
- PVR_DEBF("====== force to enter timeshift !\n");
- _DVBApp_CloseAllMenu();
- if (MID_REC_MODE_AUTO == g_eCheckRecMode)
- {
- MID_Recorder_SetRecMode(MID_REC_MODE_AUTO);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TIMESHIFT_INIT);
- MID_Recorder_SetRecMode(MID_REC_MODE_TIMESHIFT_AFTER_REC);
- }
- iRet = APP_GUIOBJ_DVB_PvrRec_StartRecord();
- if (iRet != PVR_MSG_SUCCESS)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_ENTER_NOT_VALID);
- MID_Recorder_SetRecMode(MID_REC_MODE_MAX);
- APP_GUIOBJ_DVB_PvrRec_RegUninitCallback();
- g_eCheckRecMode = MID_REC_MODE_MAX;
- return SP_ERR_FAILURE;
- }
- if (MID_REC_MODE_AUTO != MID_Recorder_GetRecMode())
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, 0);
- }
- }
- else if (dParam == POPMSG_CONFIRM_STOP_RECORD)
- {
- dvb_printf("stop record is call\n");
- DVBApp_SetTVRadioSwap(FALSE);
- g_ProgHandleB4Rec = 0;
- DVBApp_StopRecord();
- memset(&g_stDetails,0,sizeof(AL_PR_details_t));
- if(g_stUserInfoData.Subtitle == 0)
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5);
- }
- else if (dParam == POPMSG_CONFIRM_STOP_TIMESHIFT)
- {
- dvb_printf("stop timeshift is call\n");
- DVBApp_StopTimeshift(TRUE);
- if(g_stUserInfoData.Subtitle == 0)
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5);
- }
- else if (dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_RECALL)
- {
- DVBApp_SetTVRadioSwap(FALSE);
- g_ProgHandleB4Rec = 0;
- DVBApp_StopRecord();
- memset(&g_stDetails,0,sizeof(AL_PR_details_t));
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, UI_EVENT_RECALL, 0);
- }
- else if (dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_CH_CHANGE)
- {
- dvb_printf("stop record for channel change!\n");
- DVBApp_StopRecord();
- memset(&g_stDetails,0,sizeof(AL_PR_details_t));
- {
- if (g_bIsNumKey)
- {
- _DVBApp_Zapping(eServiceType, g_ProgHandle, FALSE, 0, TRUE);
- return 0;
- }
- if (g_bIsFav == FALSE)
- {
- // normal
- if (TRUE == g_bIsCHUp)
- {
- hProg = APP_DVB_PLAYBACK_GetNextProgHdl(eNetType, 1, APP_FAVORITE_NONE);
- }
- else if (FALSE == g_bIsCHUp)
- {
- hProg = APP_DVB_PLAYBACK_GetNextProgHdl(eNetType, -1, APP_FAVORITE_NONE);
- }
- }
- else
- {
- // fav
- if (TRUE == g_bIsCHUp)
- {
- hProg = APP_DVB_PLAYBACK_GetNextProgHdl(eNetType, 1, FavType);
- }
- else if (FALSE == g_bIsCHUp)
- {
- hProg = APP_DVB_PLAYBACK_GetNextProgHdl(eNetType, -1, FavType);
- }
- }
- if (hProg != AL_DB_INVALIDHDL)
- {
- AL_DB_EDBType_t db_type;
- AL_DB_ERecordType_t record_type;
- AL_DB_GetRecordType(hProg, &db_type, &record_type);
- if (db_type == AL_DBTYPE_DVB_ATV)
- {
- _DVBApp_CloseAllMenu();
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_ADJUST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_ADJUST);
- }
- #ifdef SUPPORT_CEC_TV
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME);
- }
- #endif
- _DVBApp_Zapping(eServiceType, hProg, FALSE, 0, TRUE);
- }
- else
- {
- DVBApp_CheckProgramType(TRUE);
- }
- break;
- }
- }
- else if (dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_SRC_CHANGE)
- {
- dvb_printf("stop record for source change!\n");
- DVBApp_StopRecord();
- memset(&g_stDetails,0,sizeof(AL_PR_details_t));
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOURCE))
- {
- _DVBApp_Exit_All_Menu();
- }
- else
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_SOURCE, 0);
- }
- break;
- }
- }
- else if (dParam == POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_RECALL)
- {
- DVBApp_StopTimeshift(TRUE);
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, UI_EVENT_RECALL, 0);
- }
- else if (dParam == POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_CH_CHANGE)
- {
- dvb_printf("stop timeshift for channel change!\n");
- DVBApp_StopTimeshift(TRUE);
- {
- if (g_bIsNumKey)
- {
- _DVBApp_Zapping(eServiceType, g_ProgHandle, FALSE, 0, TRUE);
- return 0;
- }
- if (g_bIsFav == FALSE)
- {
- //normal
- if (TRUE == g_bIsCHUp)
- {
- hProg = APP_DVB_PLAYBACK_GetNextProgHdl(eNetType, 1, APP_FAVORITE_NONE);
- }
- else if (FALSE == g_bIsCHUp)
- {
- hProg = APP_DVB_PLAYBACK_GetNextProgHdl(eNetType, -1, APP_FAVORITE_NONE);
- }
- }
- else
- {
- // fav
- if (TRUE == g_bIsCHUp)
- {
- hProg = APP_DVB_PLAYBACK_GetNextProgHdl(eNetType, 1, FavType);
- }
- else if (FALSE == g_bIsCHUp)
- {
- hProg = APP_DVB_PLAYBACK_GetNextProgHdl(eNetType, -1, FavType);
- }
- }
- if (hProg != AL_DB_INVALIDHDL)
- {
- AL_DB_EDBType_t db_type;
- AL_DB_ERecordType_t record_type;
- AL_DB_GetRecordType(hProg, &db_type, &record_type);
- if (db_type == AL_DBTYPE_DVB_ATV)
- {
- _DVBApp_CloseAllMenu();
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_ADJUST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_ADJUST);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME);
- }
- //APP_DVB_Playback_SetUnlock(FALSE);
- //DVBApp_ChannelChange(eServiceType, sdProgIndex);
- _DVBApp_Zapping(eServiceType, hProg, FALSE, 0, TRUE);
- }
- else
- {
- DVBApp_CheckProgramType(TRUE);
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- }
- break;
- }
- }
- else if (dParam == POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_SRC_CHANGE)
- {
- dvb_printf("stop timeshift for source change!\n");
- DVBApp_StopTimeshift(TRUE);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if (APP_PVR_TIMESHIFT_AUTO == g_stFeatureData.AutoTimeShift)
- {
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOURCE))
- {
- _DVBApp_Exit_All_Menu();
- }
- else
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_SOURCE, 0);
- }
- break;
- }
- else if ((dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_EPG)
- || (dParam == POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_EPG))
- {
- if (dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_EPG)
- {
- DVBApp_StopRecord();
- }
- else
- {
- DVBApp_StopTimeshift(TRUE);
- }
- _DVBApp_CloseAllMenu();
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- if (bHasValidServ)
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, dGuiObj, 0);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- }
- break;
- }
- else if ((dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_CHNLIST)
- || (dParam == POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_CHNLIST))
- {
- if (dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_CHNLIST)
- {
- DVBApp_StopRecord();
- }
- else
- {
- DVBApp_StopTimeshift(TRUE);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MULTIAUD))
- {
- _DVBApp_CloseAllMenu();
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST);
- _DVBApp_CheckPopupDisplay();
- }
- else
- {
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST, 0);
- }
- }
- break;
- }
- else if ((dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_FAVLIST)
- || (dParam == POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_FAVLIST))
- {
- if (dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_FAVLIST)
- {
- DVBApp_StopRecord();
- }
- else
- {
- DVBApp_StopTimeshift(TRUE);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MULTIAUD))
- {
- _DVBApp_CloseAllMenu();
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST);
- _DVBApp_CheckPopupDisplay();
- }
- else
- {
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST, 0);
- }
- }
- break;
- }
- else if ((dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_USBKEY)
- || (dParam == POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_USBKEY))
- {
- if (dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_USBKEY)
- {
- DVBApp_StopRecord();
- }
- else
- {
- DVBApp_StopTimeshift(TRUE);
- }
- _DVBApp_CloseAllMenu();
- DVBApp_ResetPopup_Channel();
- if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_MEDIA))
- {
- dvb_printf("APP_GUIOBJ_Source_SetAppSource Fail!!!!!!!!!\n");
- }
- break;
- }
- else if ((dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_TVRADIOKEY)
- || (dParam == POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_TVRADIOKEY))
- {
- if (dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_TVRADIOKEY)
- {
- DVBApp_StopRecord();
- memset(&g_stDetails,0,sizeof(AL_PR_details_t));
- }
- else
- {
- DVBApp_StopTimeshift(TRUE);
- }
- if (APP_DVB_Playback_SwapServiceType(eNetType, (AL_DB_ERecordType_t *)&NextServiceType, &u32TotalNum) != AL_SUCCESS)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- }
- break;
- }
- else if (POPMSG_CONFIRM_REC_REMIDER_TIME_CONFIRM == dParam)
- {
- APP_WAKEUP_Recorder_ResetTimeout();
- DVBApp_PVRRec_SetTimerCancle();
- }
- else if (POPMSG_CONFIRM_PVR_TIMESHIFT_STANDBY == dParam)
- {
- if (u8MidRecState != MID_REC_STATUS_STOP)
- {
- if (MID_TSPLParser_GetThreadState() == FALSE)
- DVBApp_StopRecord();
- else
- DVBApp_StopTimeshift(TRUE);
- }
- MAINAPP_SendGlobalEvent(UI_EVENT_POWER, AL_POWER_STATE_OFF);
- }
- else if ((dParam == POPMSG_CONFIRM_STOP_RECORD_FOR_MHEG)
- || (dParam == POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_MHEG))
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE | OSD2CTRLMDL_SUB);
- g_stUserInfoData.Subtitle = 0; //OFF
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO,
- ITEM_OFFSET(APP_SETTING_UserInfo_t, Subtitle),
- sizeof(g_stUserInfoData.Subtitle), &(g_stUserInfoData.Subtitle));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO,
- ITEM_OFFSET(APP_SETTING_UserInfo_t, Subtitle), sizeof(g_stUserInfoData.Subtitle));
- if (MID_REC_MODE_MANUAL == u8MIDRecMode)
- {
- DVBApp_StopRecord();
- }
- else if (MID_REC_MODE_TIMESHIFT_AFTER_REC == u8MIDRecMode)
- {
- DVBApp_StopTimeshift(TRUE);
- }
- else if (MID_REC_MODE_AUTO == u8MIDRecMode)
- {
- g_stFeatureData.AutoTimeShift = APP_PVR_TIMESHIFT_OFF;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE,
- ITEM_OFFSET(APP_SETTING_Feature_t, AutoTimeShift),
- sizeof(g_stFeatureData.AutoTimeShift), &(g_stFeatureData.AutoTimeShift));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE,
- ITEM_OFFSET(APP_SETTING_Feature_t, AutoTimeShift), sizeof(g_stFeatureData.AutoTimeShift));
- DVBApp_StopTimeshift(TRUE);
- }
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5);
- }
- else if (POPMSG_CONFIRM_INVALID_USB == dParam)
- {
- MAINAPP_SendGlobalEvent(UI_EVENT_POWER, AL_POWER_STATE_OFF);
- }
- else
- #endif
- //zhongbaoxing added for mantis 0135994 @20110608 +++
- #ifdef CONFIG_SUPPORT_MHEG5
- if (dParam == PLAYBACK_POPUP_CONFIRM_STOP_SUBTITLE_TO_OPEN_MHEG5)
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_CONFIRM_STOP_SUBTITLE_TO_OPEN_MHEG5, UI_EVENT_NULL);
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_DISABLE|OSD2CTRLMDL_SUB);
- if(g_stUserInfoData.Subtitle != 0)
- {
- g_stUserInfoData.Subtitle = 0; //OFF
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO,
- ITEM_OFFSET(APP_SETTING_UserInfo_t, Subtitle),
- sizeof(g_stUserInfoData.Subtitle), &(g_stUserInfoData.Subtitle));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO,
- ITEM_OFFSET(APP_SETTING_UserInfo_t, Subtitle), sizeof(g_stUserInfoData.Subtitle));
- }
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5);
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE)) //Gahu:D0305
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- else
- #endif
- //zhongbaoxing added for mantis 0135994 @20110608 ---
- #ifdef CONFIG_CONFIRM_AUTO_UPGRADE
- if (dParam == POPMSG_CONFIRM_START_AUTO_UPGRADE)
- {
- DVBApp_ResetPopup_Channel();//add for 0159405 @20111114
- if (!APP_MenuMgr_Exist_Main_Menu()
- && (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_FM_FACTORYSETTING)))
- {
- _DVBApp_Exit_All_Menu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE, SOFTWARE_UPGRADE_FROM_AUTO_UPGRADE);
- }
- else if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE, 0);
- }
- }
- else
- #endif
- #ifdef N32_GAME_SUPPORT
- if (dParam == POPMSG_CONFIRM_START_GAME_UPGRADE)
- {
- dvb_printf("\n!!!start ugrade game\n");
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_IMPORTING_GAME);
- APP_Clone_Revert_BinFile_to_System(UPGRADE_GAME_BIN_ID);
- }
- else
- #endif
- if (POPMSG_CONFIRM_FLIP == dParam)
- {
- g_stFactoryUserData.Function.PanelSetting.n_FlipIndex = Factory_GetFlipIndex();
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER,
- ITEM_OFFSET(APP_SETTING_FactoryUser_t, Function.PanelSetting.n_FlipIndex), sizeof(g_stFactoryUserData.Function.PanelSetting.n_FlipIndex),
- &(g_stFactoryUserData.Function.PanelSetting.n_FlipIndex));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER,
- ITEM_OFFSET(APP_SETTING_FactoryUser_t, Function.PanelSetting.n_FlipIndex), sizeof(g_stFactoryUserData.Function.PanelSetting.n_FlipIndex));
- MID_TVFE_SetPanelInverse((BOOL)(g_stFactoryUserData.Function.PanelSetting.n_FlipIndex));
- //MID_DISP_DTVSetFlip((MID_DISP_FlipType_t)(g_stFactoryUserData.Function.PanelSetting.n_FlipIndex) ); // added for VIP test
- GL_TaskSleep(2000);
- APP_Sysset_Reset_System();
- // APP_Panel_SetBacklightEnOnOff(FALSE);//makr for S2tek
- // MID_GPIO_SetGPIOOffLevel(GPIO_PANEL_ON_PIN);//makr for S2tek
- // system_reset();//makr for S2tek
- }
- #ifdef CONFIG_SUPPORT_USB_UPGRADE
- if (POPMSG_CONFIRM_ERASE_WHOLE_FLASH == dParam)
- {
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE, SOFTWARE_UPGRADE_FROM_FM);
- }
- }
- #endif
- break;
- case APP_GLOBAL_EVENT_POPMSG_NO:
- #ifdef CONFIG_SUPPORT_MHEG5
- if (dParam == PLAYBACK_POPUP_CONFIRM_STOP_SUBTITLE_TO_OPEN_MHEG5)
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_CONFIRM_STOP_SUBTITLE_TO_OPEN_MHEG5, UI_EVENT_NULL);
- }
- else
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- if (dParam == POPMSG_CONFIRM_REC_REMIDER_TIME)
- {
- APP_WAKEUP_Recorder_ResetTimeout();
- DVBApp_PVRRec_SetTimerCancle();
- //SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- //(APP_GLOBAL_EVENT_PVR_REMINDER_CONFIRM | PASS_TO_SYSAPP), 0);
- }
- else if (dParam == POPMSG_CONFIRM_REC_REMIDER_TIME_CONFIRM)
- {
- al_uint32 CurTimeInSec = 0;
- UINT32 RECStartTime = 0;
- AL_Time_GetCurTimeInSecs(&CurTimeInSec);
- RECStartTime = DVBApp_GetTimerRECStartTime();
- if (RECStartTime > CurTimeInSec)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_PVR_REMIDER);
- }
- }
- else if (dParam == POPMSG_CONFIRM_STOP_RECORD)
- {
- /*added by xm.zeng on 2014/7/3 for mantis id:0023174*/
- if((g_bNoSteamData == TRUE)
- && (bSetUnMuteFlag == FALSE)
- && (g_bMidHasUnmute == FALSE))
- {
- DVBApp_CheckProgramType(TRUE);
- }
- }
- if (dParam == POPMSG_CONFIRM_STOP_TIMESHIFT_FOR_SRC_CHANGE)
- {
- DVBApp_CheckProgramType(FALSE);
- }
- if (POPMSG_CONFIRM_INSERT_USB == dParam)
- {
- MAINAPP_SendGlobalEvent(UI_EVENT_POWER, AL_POWER_STATE_OFF);
- }
- #endif
- if (dParam == POPMSG_CONFIRM_FLIP)
- {
- DVBApp_ClosePopup(POPMSG_CONFIRM_FLIP, UI_EVENT_NULL);
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- (UI_EVENT_FACTORY|PASS_TO_SYSAPP), 1);
- }
- #ifdef CONFIG_SUPPORT_USB_UPGRADE
- if (POPMSG_CONFIRM_ERASE_WHOLE_FLASH == dParam)
- {
- //if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE))
- //{
- //SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE, SOFTWARE_UPGRADE_FROM_FM);
- //}
- }
- #endif
- #ifdef CONFIG_CONFIRM_AUTO_UPGRADE
- if (dParam == POPMSG_CONFIRM_START_AUTO_UPGRADE)
- {
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- dvb_printf("\e[33m\n[EWS] %s %d APP_GLOBAL_EVENT_POPMSG_NO no channel update ReciveEWS = %d\e[0m\n",__FUNCTION__, __LINE__,DVBApp_GetReciveEWS());
- if(DVBApp_GetReciveEWS())
- {
- DVBApp_SetReciveEWS(FALSE);
- SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_DVB, FW_INDONESIA_EWS_UPDATE|PASS_TO_SYSAPP, 0);
- }
- #endif
- AutoUpgrade = FALSE;
- _DVBApp_Exit_All_Menu();
- }
- #endif
- break;
- case APP_GLOBAL_EVENT_POPMSG_TIMEOUT:
- switch (dParam)
- {
- #ifdef CONFIG_CIPLUS_SUPPORT
- case POPMSG_PROMP_CIPLUS_UPGRADE_SUCC:
- #ifdef SUPPORT_LED_FLASH
- APP_LED_Flash_Timer_Set(LED_FLASH_TYPE_GREEN, 0);
- #endif
- break;
- case POPMSG_PROMP_CIPLUS_UPGRADE_FAILED:
- #ifdef SUPPORT_LED_FLASH
- APP_LED_Flash_Timer_Set(LED_FLASH_TYPE_GREEN, 0);
- #endif
- break;
- #endif
- default:
- break;
- }
- break;
- case APP_GLOBAL_EVENT_POPMSG_EXIT_KEY_MATCH:
- #ifdef CONFIG_SUPPORT_PVR
- if (dParam == POPMSG_CONFIRM_REC_REMIDER_TIME)
- {
- APP_WAKEUP_Recorder_ResetTimeout();
- DVBApp_PVRRec_SetTimerCancle();
- //SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- //(APP_GLOBAL_EVENT_PVR_REMINDER_CONFIRM | PASS_TO_SYSAPP), 0);
- }
- #endif
- #ifdef CONFIG_CONFIRM_AUTO_UPGRADE
- if (dParam == POPMSG_CONFIRM_START_AUTO_UPGRADE)
- {
- bHasValidServ = AL_DB_HasVisibleService(eNetType);
- AutoUpgrade = FALSE;
- if (bHasValidServ)
- {
- DVBApp_CheckProgramType(TRUE);
- }
- }
- #endif
- break;
- #ifdef CONFIG_SUPPORT_OTA_UPGRADE
- case DMN_EVENT_OTA_EVENT_PROMPT:
- if (APP_GUIOBJ_DVB_OTAPrompt_GetShowFlag() == OtaShowPromt_MAX || APP_GUIOBJ_DVB_OTAPrompt_GetShowFlag() == OtaShowPromt_FromScan)
- {
- dvb_printf("only one choice\n");
- }
- else
- {
- APP_GUIOBJ_DVB_OTAPrompt_SetShowFlag(OtaShowPromt_MAX);
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_OTA_UPGRADE_PROMPT))
- {
- if (FALSE == DVBApp_GetOTAStatus())
- {
- DVBApp_SetOTAStatus(TRUE);
- }
- _DVBApp_ExitAll();
- SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_DVB, APP_DVB_GLOBAL_EVENT_OBJECT_OPEN | PASS_TO_SYSAPP, DVB_GUIOBJ_OTA_UPGRADE_PROMPT);
- MID_OtaMonStop(TRUE);
- autoupgrade_sate = AU_MAX;
- }
- }
- break;
- case DMN_EVENT_OTA_EVENT_PROGRESS:
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_OTA_UPGRADE_PROGRESS))
- {
- if(FALSE == DVBApp_GetOTAStatus())
- {
- DVBApp_SetOTAStatus(TRUE);
- }
- _DVBApp_ExitAll();
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK,
- APP_DVB_INTRA_EVENT_STOP_PLAYBACK, PLAYBACK_STOP_ALL|PLAYBACK_KEEP_DMX_FIFO);
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- APP_GUIOBJ_DVB_OTAUpgrade_RegisterUICallbk();
- #ifdef CONFIG_SUPPORT_SSU_ENHANCE_UPGRADE
- APP_GUIOBJ_DVB_OTAPrompt_RevTimer(); /*revert wake up time in this situation*/
- DVBApp_SetAU_Sate(AU_MAX);
- DVBApp_SetAutoUpgrade(FALSE);
- #endif
- SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_DVB, APP_DVB_GLOBAL_EVENT_OBJECT_OPEN | PASS_TO_SYSAPP, DVB_GUIOBJ_OTA_UPGRADE_PROGRESS);
- }
- break;
- #endif
- case DMN_EVENT_AUTODVD_CHANGE_SOURCE:
- #if 1
- /* Check Valid state +++*/
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
- sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
- if (g_stFactoryUserData.n_FactSet_BurningMode == al_true)
- {
- break;
- }
- if ((MAIN_APP_SUCCESS != MAINAPP_GetActiveSystemAppIndex(&dAppIndex))||
- (APP_MenuMgr_Exist_Scan_Menu()) ||
- #ifdef CONFIG_SUPPORT_USB_UPGRADE
- (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE)) ||
- #endif
- (AL_CS_IsStop() != al_true))
- {
- break;
- }
- #endif
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA))
- {
- return GUI_OBJECT_NO_POST_ACTION;
- }
- #endif
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(dParam))
- {
- dvb_printf("[DvbApp OnGlobalEvent] APP_GUIOBJ_Source_SetAppSource faild.\n");
- }
- break;
- case DMN_EVENT_AUTOSCART_CHANGE_SOURCE:
- /* Check Valid state +++*/
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
- sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
- if (g_stFactoryUserData.n_FactSet_BurningMode == al_true)
- {
- break;
- }
- /* recording */
- /*#ifdef CONFIG_SUPPORT_PVR
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- UINT32 u32PopMsgDialogType = POPMSG_PROMPT_NO_PROG;
- APP_GUIOBJ_PopMsg_GetMsgDialogType(&u32PopMsgDialogType);
- if (u32PopMsgDialogType == POPMSG_CONFIRM_REC_REMIDER_TIME
- || u32PopMsgDialogType == POPMSG_CONFIRM_REC_REMIDER_TIME_CONFIRM)
- {
- #ifdef CONFIG_DVB_SYSTEM
- //APP_SCARTIN_ResetAutoPlugInStatus(AUTO_PLUGIN_SCART0);
- //clear SCART PlugInStatus for mantis 0204109
- APP_SCARTIN_SetAutoPlugInStatus(AUTO_PLUGIN_SCART0);
- APP_SCARTIN_SetPlugStatus(AUTO_PLUGIN_SCART0);
- #endif
- break;
- }
- }
- if (u8MidRecState != MID_REC_STATUS_STOP)
- {
- #ifdef CONFIG_DVB_SYSTEM
- //APP_SCARTIN_ResetAutoPlugInStatus(AUTO_PLUGIN_SCART0);
- //clear SCART PlugInStatus for mantis 0204109
- APP_SCARTIN_SetAutoPlugInStatus(AUTO_PLUGIN_SCART0);
- APP_SCARTIN_SetPlugStatus(AUTO_PLUGIN_SCART0);
- #endif
- break;
- }
- #endif*/
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT //for mantis 0202693
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SATSYSTEM)||
- SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_LNBTYPE)||
- SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SATEDIT)||
- SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SATADD)||
- SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TPEDIT)||
- SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TPADD)||
- SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SETLOCATION)||
- SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_LNBTYPE)||
- SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SETPOSTION))
- {
- // dvb_printf("\n ======%s %s %d\n",__FUNCTION__,__FUNCTION__,__LINE__);
- //clear SCART PlugInStatus
- APP_SCARTIN_SetAutoPlugInStatus(AUTO_PLUGIN_SCART0);
- APP_SCARTIN_SetPlugStatus(AUTO_PLUGIN_SCART0);
- break;
- }
- #endif
- if ((MAIN_APP_SUCCESS != MAINAPP_GetActiveSystemAppIndex(&dAppIndex))||
- (APP_MenuMgr_Exist_Scan_Menu()) ||
- #ifdef CONFIG_SUPPORT_USB_UPGRADE
- (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE)) ||
- #endif
- (AL_CS_IsStop() != al_true))
- {
- #ifdef CONFIG_DVB_SYSTEM
- APP_SCARTIN_ResetAutoPlugInStatus(AUTO_PLUGIN_SCART0);
- #endif
- break;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- UINT32 u32PopMsgDialogType = POPMSG_PROMPT_NO_PROG;
- APP_GUIOBJ_PopMsg_GetMsgDialogType(&u32PopMsgDialogType);
- if (u32PopMsgDialogType == POPMSG_CONFIRM_REC_REMIDER_TIME)
- {
- break;
- }
- }
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- break;
- }
- #endif
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA))
- {
- return GUI_OBJECT_NO_POST_ACTION;
- }
- #endif
- /* Check Valid state ---*/
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- #ifdef CONFIG_SUPPORT_PVR
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAYINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAYINFO);
- }
- #endif
- if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(dParam))
- {
- dvb_printf("[DvbApp OnGlobalEvent] APP_GUIOBJ_Source_SetAppSource faild.\n");
- }
- else
- {
- #ifdef CONFIG_DVB_SYSTEM
- if (dParam == APP_SOURCE_SCART)
- {
- APP_SCARTIN_SetAutoPlugInStatus(AUTO_PLUGIN_SCART0);
- APP_SCARTIN_SetPlugStatus(AUTO_PLUGIN_SCART0);
- }
- #endif
- }
- break;
- case APP_GLOBAL_EVENT_SLEEP_TIMER_INFO:
- if ((APP_MenuMgr_Exist_Scan_Menu())
- #ifdef CONFIG_SUPPORT_USB_UPGRADE //zhongbaoxing added for mantis bug 139209 @20110623
- || (APP_Data_Get_USB_Upgrade_State() == TRUE)
- #endif
- )
- {
- APP_GUIOBJ_SleepTimer_Reset();
- }
- else
- {
- _DVBApp_CloseAllMenu();
- DVBApp_ResetPopup_Channel();
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SLEEP_INFO))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_SLEEP_INFO, dParam);
- }
- }
- break;
- #ifdef CONFIG_CIPLUS_SUPPORT
- case APP_GLOBAL_EVENT_ASK_PROFILE_ACTION:
- APP_DVB_CI_AskProfileAction();
- break;
- #endif
- case APP_GLOBAL_EVENT_CIHDCPKEY_RESULT:
- if (dParam == 0xffffffff)
- break;
- UINT32 u32CIupgrade = dParam & 0xf;
- UINT32 u32HDCPupgrade = (dParam & 0xf0)>>4;
- {
- UINT32 u32PQupgrade = (dParam & 0xf00)>>8;
- if(u32PQupgrade != APP_DATA_KEYUPGRADE_NOT_UPGRADE)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_IMPORT_PQ_PASS);
- printf("PQ Bin import successfull !");
- }
- }
- if (u32CIupgrade && u32HDCPupgrade)
- {
- // upgrade CI & HDCP
- if (u32CIupgrade == APP_DATA_KEYUPGRADE_SUCCESS)
- {
- if (u32HDCPupgrade == APP_DATA_KEYUPGRADE_SUCCESS)
- {
- // CI OK, HDCP OK
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CI_PASS_HDCP_PASS);
- }
- else
- {
- // CI OK, HDCP fail
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CI_PASS_HDCP_FAIL);
- }
- }
- else
- {
- if (u32HDCPupgrade == APP_DATA_KEYUPGRADE_SUCCESS)
- {
- // CI fail, HDCP OK
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CI_FAIL_HDCP_PASS);
- }
- else
- {
- // CI fail, HDCP fail
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CI_FAIL_HDCP_FAIL);
- }
- }
- }
- else if (u32CIupgrade != APP_DATA_KEYUPGRADE_NOT_UPGRADE)
- {
- _DVBApp_CloseAllMenu();
- // upgrade CI
- if (u32CIupgrade == APP_DATA_KEYUPGRADE_SUCCESS)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CIPLUSE_UPGRADE_SUCC);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CIPLUSE_UPGRADE_FAILE);
- }
- }
- else if (u32HDCPupgrade != APP_DATA_KEYUPGRADE_NOT_UPGRADE)
- {
- // upgrade HDCP
- if (u32HDCPupgrade == APP_DATA_KEYUPGRADE_SUCCESS)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_HDCP_UPGRADE_SUCC);
- }
- else
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_HDCP_UPGRADE_FAILE);
- }
- }
- break;
- #ifdef CONFIG_SUPPORT_3D_EN
- case UI_EVENT_3D:
- dvb_printf("\n\n===UI_EVENT_3D [%s]====\n\n",__FUNCTION__);
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTHOTEL, 0,
- sizeof(APP_SETTING_FactoryHotel_t), &(g_stFactoryHotelData));
- if (g_stFactoryHotelData.HotelModeOnOff == 1&&g_stFactoryHotelData.PictureLock == 1)
- {
- dvb_printf("[%s] Picture Option has been Lock On!!\n",__FUNCTION__);
- break;
- }
- APP_Video_Check3DState(&ePicture3DState);
- if(ePicture3DState == APP_VIDEO_IMAGE_3D_DISABLED)
- {
- if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_3D_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_3D_INFO);
- }
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NOT_AVAILABLE);
- break;
- }
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_3D_INFO))
- {
- Boolean bShowLogo = DTV_FALSE;
- bShowLogo = APP_GUIOBJ_DVB_Playback_GetShowLogoState();
- AL_DB_ERecordType_t eRecordType;
- MID_PlaybackGetCurProgHandle(&eRecordType, al_null);
- if((eRecordType == AL_RECTYPE_DVBRADIO) || (bShowLogo == DTV_TRUE))
- {
- break;
- }
- _DVBApp_CloseAllMenu();
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FREEZE))
- {
- if (eSourType == APP_SOURCE_DTV)
- {
- #ifdef CONFIG_SUPPORT_SUBTITLE
- UINT8 tmpIdx = 0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- tmpIdx = g_stUserInfoData.Subtitle;
- if (tmpIdx == DVB_SWITCH_ON)
- {
- #ifdef Subtitle_Freeze
- AL_Subtitle_SetFreeze(FALSE);
- #else
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- #endif
- }
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- #ifdef CONFIG_SUPPORT_SUBTITLE
- if (tmpIdx == DVB_SWITCH_OFF)
- #endif
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_MH5);
- }
- #endif
- }
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_FREEZE);
- }
- if (APP_GetPlaybackPauseState() == TRUE)
- {
- MID_PlaybackStreamResume(1);
- g_PauseState = FALSE;
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_3D_INFO, dMessage);
- dvb_printf("\n\n%s %d\n\n", __FUNCTION__, dMessage);
- }
- else
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_3D_INFO);
- }
- break;
- case APP_GLOBAL_EVENT_3D_TIMER_INFO:
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_PICTURE, 0,
- sizeof(APP_SETTING_Picture_t), &(g_stPictureData));
- APP_StorageSource_Type_t eStorageSourType = APP_STORAGE_SOURCE_MAX;
- eStorageSourType = APP_Data_UserSetting_SourceTypeMappingToStorage(eSourType);
- if((!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_3D_INFO)) && (g_stPictureData.stPictureModeSourceTab[eStorageSourType].st3DMenu.Mode3D != SPAL_PQ_3DMODE_OFF))
- {
- Boolean bShowLogo = DTV_FALSE;
- bShowLogo = APP_GUIOBJ_DVB_Playback_GetShowLogoState();
- AL_DB_ERecordType_t eRecordType;
- MID_PlaybackGetCurProgHandle(&eRecordType, al_null);
- if((eRecordType == AL_RECTYPE_DVBRADIO) || (bShowLogo == DTV_TRUE))
- {
- break;
- }
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB,APP_GUIOBJ_3D_INFO, dParam);
- }
- break;
- #endif
- #ifdef NET_SUPPORT
- case UI_EVENT_SRC_NET:
- if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_NET))
- {
- dvb_printf("UI_EVENT_SRC_NET change Net Fail!!!!!!!!!\n");
- }
- break;
- #endif
- #ifdef CONFIG_HDMI_SUPPORT_MHL
- case DMN_EVENT_MHL_CHANGE_SOURCE:
- /* Check Valid state +++*/
- /* Auto install not finish */
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_INITINSTALL))
- {
- break;
- }
- /* Scan State */
- if (AL_CS_IsStop() != 1)
- {
- break;
- }
- /*
- ** Channel Tuning,
- ** Channel - Digital Manual Search,
- */
- if ((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_AUTO_SEARCH))
- || (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SCAN_PROCESS))
- #if (defined CONFIG_DVB_SYSTEM_DVBT_SUPPORT)
- || (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_DVB_T_MANUAL_SEARCH))
- #endif
- #if (defined CONFIG_DVB_SYSTEM_DVBC_SUPPORT)
- || (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_DVB_C_MANUAL_SEARCH))
- #endif
- )
- {
- break;
- }
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- break;
- }
- #endif
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA))
- {
- return GUI_OBJECT_NO_POST_ACTION;
- }
- #endif
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- /* Check Valid state ---*/
- APP_Source_Type_t eMhlSrc;
- UINT8 IsMHLSoure;
- APP_GOBJ_Source_CheckAndGetMHLSource(&IsMHLSoure,&eMhlSrc);
- if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(eMhlSrc))
- {
- dvb_printf("[DvbApp OnGlobalEvent] APP_GUIOBJ_Source_SetAppSource faild.\n");
- }
- break;
- #endif
- #ifdef SUPPORT_CEC_TV
- case DMN_EVENT_CECTV_CHANGE_SOURCE:
- /* Check Valid state +++*/
- /* Auto install not finish */
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_INITINSTALL))
- {
- break;
- }
- /* Scan State */
- if (AL_CS_IsStop() != 1)
- {
- break;
- }
- /*
- ** Channel Tuning,
- ** Channel - Digital Manual Search,
- */
- if ((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_AUTO_SEARCH))
- || (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SCAN_PROCESS))
- #if (defined CONFIG_DVB_SYSTEM_DVBT_SUPPORT)
- || (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_DVB_T_MANUAL_SEARCH))
- #endif
- #if (defined CONFIG_DVB_SYSTEM_DVBC_SUPPORT)
- || (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_DVB_C_MANUAL_SEARCH))
- #endif
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- ||(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS))
- ||(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA))
- #endif
- )
- {
- break;
- }
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- break;
- }
- #endif
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA))
- {
- return GUI_OBJECT_NO_POST_ACTION;
- }
- #endif
- /* Check Valid state ---*/
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- APP_Source_Type_t eSrc;
- APP_Video_GetCECPortMapping((tv_source_t)dParam, &eSrc);
- if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(eSrc))
- {
- dvb_printf("[DvbApp OnGlobalEvent] APP_GUIOBJ_Source_SetAppSource faild.\n");
- }
- break;
- #endif
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- case FW_INDONESIA_EWS_UPDATE:
- {
- dvb_printf("\n\nFW_INDONESIA_EWS_UPDATE\n\n");
- UINT8 retVol=0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL,
- ITEM_OFFSET(APP_SETTING_Variational_t, Volume),
- sizeof(UINT8), &(retVol));
- AL_PsiMon_EwsDetail_t ewsDetail = {0};
- INT32 AreaCode = _APP_GUIOBJ_EWS_AreaCodeSetting_GetAreaCode();
- if(AL_PSI_Monitor_GetEwsDetail(AreaCode, &ewsDetail) == AL_SUCCESS)
- {
- dvb_printf("EWS: location {%s}, disaster {%s} \n", ewsDetail.location_name, ewsDetail.disaster_name);
- dvb_printf("EWS: pos {%s}, date {%s}, char {%s} \n", ewsDetail.disaster_position, ewsDetail.disaster_date, ewsDetail.disaster_characteristic);
- dvb_printf("EWS: msg {%s}\n", ewsDetail.message);
- SAFE_FREE(ewsDetail.message); // need to be freed explicitly by caller
- }
- else
- {
- dvb_printf("\n\nNo matching EWS is found!\n\n");
- MID_PlaybackStopEWSFile();
- if (APP_Audio_Get_HPStatus() == APP_Audio_Headphone_PlugOut)
- {
- APP_Audio_SetVolume(retVol);
- }
- else
- {
- APP_Audio_SetHPVolume(retVol);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA);
- }
- DVBApp_RecordPreEWSLevel(STATUS_NONE);
- break;
- }
- dvb_printf("\e[33m\n[EWS] %s %d g_bReciveEWS = %d \e[0m\n",__FUNCTION__, __LINE__,g_bReciveEWS);
- #if 0//CVT_EN_POP_MSG_AUTO_CHANNEL_UPDATE
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_CONFIRM_AUTO_CHANNEL_UPDATE))
- {
- DVBApp_SetReciveEWS(TRUE);
- }
- #endif
- dvb_printf("\e[33m\n[EWS] %s %d g_bReciveEWS = %d \e[0m\n",__FUNCTION__, __LINE__,g_bReciveEWS);
- if(!DVBApp_GetReciveEWS())
- {
- if(AL_PSI_Monitor_GetEwsDetail(AreaCode, &ewsDetail) == AL_SUCCESS)
- {
- DVBApp_ShowIndonesiaEWS(ewsDetail.usLocationType);
- SAFE_FREE(ewsDetail.message); // need to be freed explicitly by caller
- }
- }
- break;
- }
- case FW_INDONESIA_EWS_STOP:
- {
- dvb_printf("\n\nFW_INDONESIA_EWS_STOP\n\n");
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS);
- /*MID_PlaybackStopEWSFile();
- if(g_PreEWSLevel == STATUS_AWAS)
- {
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if (bSignalState == AL_DVB_MONITOR_VALUE_TRUE)
- {
- APP_Audio_SetMute(FALSE, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, APP_SOURCE_DTV);
- APP_Video_SetMute(FALSE, FALSE, APP_MUTE_MODE_STATEMAX, APP_SOURCE_DTV);
- }
- }*/
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA);
- }
- DVBApp_RecordPreEWSLevel(STATUS_NONE);
- dvb_printf("\e[33m\n[EWS] %s %d FW_INDONESIA_EWS_STOP ReciveEWS = %d\e[0m\n",__FUNCTION__, __LINE__,DVBApp_GetReciveEWS());
- if(DVBApp_GetReciveEWS())
- {
- DVBApp_SetReciveEWS(FALSE);
- dvb_printf("\e[33m\n[EWS] %s %d ccccc FW_INDONESIA_EWS_STOP ReciveEWS = %d\e[0m\n",__FUNCTION__, __LINE__,DVBApp_GetReciveEWS());
- }
- break;
- }
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- case DMN_EVENT_USB_HDD_ATTACHED:
- {
- int iPtListIdx = -1;
- DVBApp_SetBGTimeshift(PVR_BGTIMESHIFT_START_INTERVAL);
- dvb_printf("dvb has received DMN_EVENT_USB_HDD_ATTACHED\n\n\n\n");
- #ifdef SUPPORT_PVR_USE_SAVED_INDEX_FAT_PARTITION
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- GL_TaskSleep(1000);
- if(MID_REC_FS_OK == MID_RecorderGetDefaultPartition(&iPtListIdx)
- &&iPtListIdx == g_stFeatureData.DefaultPartition)
- {
- break;
- }
- if(TRUE != APP_GUIOBJ_DVB_PartitionList_CheckValidByIndex(g_stFeatureData.DefaultPartition))
- {
- /* aps new don't support NTFS fs */
- if (APP_GUIOBJ_DVB_PartitionList_GetFirstFat(&iPtListIdx) == TRUE)
- {
- MID_RecorderSetDefaultPartition(iPtListIdx, MID_REC_PARTITION_SET_FORCE); //set partition 0 for default partition
- APP_GUIOBJ_DVB_PartitionList_SaveIndex(iPtListIdx);
- }
- }
- else
- {
- MID_RecorderSetDefaultPartition(g_stFeatureData.DefaultPartition, MID_REC_PARTITION_SET_FORCE); //set partition 0 for default partition
- }
- #else
- if (MID_RecorderGetDefaultPartition(&iPtListIdx) != MID_REC_FS_OK)
- {
- if (APP_GUIOBJ_DVB_PartitionList_GetFirstFat(&iPtListIdx) == TRUE)
- {
- printf("set default partition\n\n");
- MID_RecorderSetDefaultPartition(iPtListIdx, MID_REC_PARTITION_SET_FORCE);
- }
- }
- #endif
- break;
- }
- case DMN_EVENT_USB_HDD_DETACHED:
- {
- int i;
- int j;
- int MountCount;
- char DefPartitionName[5] = "";
- char AttchPartitionName[5] = "";
- char DefPartition[15] = "";
- Boolean HaveDefPartition = FALSE;
- int devicelen = 4;
- UINT32 u32showpop = 0;
- MountCount = MID_PartitionList_GetMountedCount();
- APP_GUIOBJ_DVB_PartitionList_ClearPartitionInfo();
- if (MountCount == 0 && !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- u32showpop = 1;
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_PVR_NO_STORAGE);
- }
- MID_TSPLParser_GetPartitionName(DefPartition, 15);
- strncpy(DefPartitionName, (char *)(DefPartition),devicelen);
- for (j = 0; j < devicelen; j++ )
- {
- if (DefPartitionName[j] == '/')
- {
- DefPartitionName[j] = '\0';
- }
- }
- for (i=0; i < MountCount; i++)
- {
- strncpy(AttchPartitionName, (char *)(MID_PartitionList_GetDevName(i)+5), devicelen );
- for (j = 0; j < devicelen; j++ )
- {
- if (AttchPartitionName[j] == '/')
- {
- AttchPartitionName[j] = '\0';
- }
- }
- //printf("AttchPartitionName is %s, DefPartitionName is %s\n",AttchPartitionName,DefPartitionName);
- if (strncmp(DefPartitionName, AttchPartitionName, devicelen) == 0)
- {
- //printf("---------------------------------------------- %d\n",__LINE__);
- HaveDefPartition = TRUE;
- break;
- }
- }
- if (HaveDefPartition == FALSE)
- {
- //printf("---------------------------------------------- %d\n",__LINE__);
- if (MID_REC_MODE_MANUAL == u8MIDRecMode || MID_REC_MODE_UNATTENDED == u8MIDRecMode)
- {
- DVBApp_StopRecord();
- if (u32showpop == 0)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_WRITE_ERROR);
- }
- }
- else if ((MID_REC_MODE_TIMESHIFT_AFTER_REC == u8MIDRecMode) ||
- (MID_REC_MODE_AUTO == u8MIDRecMode))
- {
- DVBApp_StopTimeshift(TRUE);
- if (u32showpop == 0)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_REC_WRITE_ERROR);
- }
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- #ifdef CONFIG_SUPPORT_SUBTITLE
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU);
- }
- #endif
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_MULTIAUD))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_MULTIAUD);
- }
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY);
- }
- DVBApp_SetBGTimeshift(0);
- MID_TSPLParser_Init("NULL"); //for mantis 0150969, set the wrong szPtName to reset the g_sdPltCnt
- MID_RecorderRefreshDefaultPartition();
- }
- break;
- }
- case DMN_EVENT_DVB_RECORDER_GFS_OK:
- {
- INT32 dFocusedIndex;
- if (SYSTEM_APP_NO_FOCUSED_GUIOBJ == SYSAPP_GOBJ_GetFocusedGUIObject(SYS_APP_DVB, &dFocusedIndex))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_PVR_PARTITION_SET_SUCCESSFUL);
- }
- }
- break;
- #endif
- #ifdef CONFIG_SUPPORT_USB_UPGRADE
- case APP_GLOBAL_EVENT_USB_UPGRADE:
- {
- UINT32 dActiveSysApp = TOTAL_SYS_APP_SIZE;
- unsigned int dIndex;
- MAINAPP_GetActiveSystemAppIndex(&dIndex);
- if (MAINAPP_GetActiveSystemAppIndex(&dActiveSysApp) != MAIN_APP_SUCCESS)
- {
- break;
- }
- if (dActiveSysApp != SYS_APP_DVB)
- {
- break;
- }
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- if(APP_Factory_GetUpgradeandAutoTestFlag() == TRUE)
- {
- AutoUpgrade = TRUE;
- _DVBApp_Exit_All_Menu();
- DVBApp_ResetPopup_Channel();//add for 0159405 @20111114
- if(dParam==1)
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, APP_GLOBAL_EVENT_ERASE_WHOLE_FLASH|PASS_TO_SYSAPP, 0);
- }
- else
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE, SOFTWARE_UPGRADE_FROM_AUTO_UPGRADE);
- }
- break;
- }
- #endif
- if(dParam==1)//from fm
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, APP_GLOBAL_EVENT_ERASE_WHOLE_FLASH|PASS_TO_SYSAPP, 0);
- break;
- }
- if (AL_CS_IsStop() == FALSE)
- {
- break;
- }
- }
- if (!APP_MenuMgr_Exist_Main_Menu()
- && (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_FM_FACTORYSETTING)))
- {
- _DVBApp_Exit_All_Menu();
- DVBApp_ResetPopup_Channel();//add for 0159405 @20111114
- #ifdef CONFIG_SUPPORT_SUBTITLE
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLE))
- {
- UINT8 onoff = 0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- onoff = g_stUserInfoData.Subtitle;
- if (onoff == TRUE)
- {
- DVBApp_DataApplicationSwitch(OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_SUB);
- }
- }
- #endif
- AutoUpgrade = TRUE;
- #if defined(CONFIG_CONFIRM_AUTO_UPGRADE)
- if(FALSE == gUSBUpgradeBinIsSupperBin)
- {
- memset(&stPopup, 0x0, sizeof(PopmsgParam_t));
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT | POPMSG_EXIT_RECALL;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_START_AUTO_UPGRADE;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- DVBApp_SchedulePopup(stPopup);
- }
- else
- #endif
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_SOFTWARE_UPGRADE, SOFTWARE_UPGRADE_FROM_AUTO_UPGRADE);
- }
- }
- break;
- #endif
- #ifdef N32_GAME_SUPPORT
- case APP_GLOBAL_EVENT_GAME_UPGRADE:
- if (!APP_MenuMgr_Exist_Main_Menu()
- && !(APP_MenuMgr_Exist_Factory_Menu()))
- {
- _DVBApp_Exit_All_Menu();
- if(dParam == 0)
- {
- dvb_printf("\n!!!open confirm for game upgrade\n");
- memset(&stPopup, 0x0, sizeof(PopmsgParam_t));
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT | POPMSG_EXIT_RECALL;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_START_GAME_UPGRADE;
- stPopup.extend.stConfirm.u8Default = POPMSG_YES;
- DVBApp_SchedulePopup(stPopup);
- }
- else
- {
- dvb_printf("\n!!!show popmsg not enough size to upgrade game\n");
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NO_SIZE_FOR_GAME);
- }
- }
- break;
- #endif
- case APP_GLOBAL_EVENT_FLIP:
- if (APP_MenuMgr_Exist_Factory_Menu())
- {
- APP_MenuMgr_Exit_Factory_Menu();
- }
- memset(&stPopup, 0x0, sizeof(PopmsgParam_t));
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT | POPMSG_EXIT_RECALL;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_FLIP;
- stPopup.extend.stConfirm.u8Default = POPMSG_YES;
- DVBApp_SchedulePopup(stPopup);
- break;
- #ifdef CONFIG_SUPPORT_USB_UPGRADE
- case APP_GLOBAL_EVENT_ERASE_WHOLE_FLASH:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_FM_FACTORYSETTING))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_FM_FACTORYSETTING);
- }
- memset(&stPopup, 0x0, sizeof(PopmsgParam_t));
- stPopup.eType = POPMSG_TYPE_CONFIRM;
- stPopup.u16Exitkeys = POPMSG_EXIT_EXIT | POPMSG_EXIT_RECALL;
- stPopup.u16ReturnType = GUI_OBJECT_POST_EVENT | GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stConfirm.eConfirmType = POPMSG_CONFIRM_ERASE_WHOLE_FLASH;
- stPopup.extend.stConfirm.u8Default = POPMSG_NO;
- DVBApp_SchedulePopup(stPopup);
- break;
- #endif
- case APP_GLOBAL_EVENT_KEYLOCK:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_KEYLOCK);
- break;
- #ifdef CONFIG_KEYPAD_SINGLE_REUSE
- case APP_GLOBAL_EVENT_SINGLEKEYPAD_OPEN:
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_SINGLEKEYPAD, 0);
- break;
- case APP_GLOBAL_EVENT_SINGLEKEYPAD_CLOSE:
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_SINGLEKEYPAD);
- break;
- #endif
- case APP_GLOBAL_EVENT_OVER_MAXVOLUME:
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_OVERMAXVOLUME);
- break;
- #ifdef SUPPORT_SFU_AUTO_TEST
- case APP_DVB_GLOBAL_EVENT_SET_RF_TYPE:
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, UI_EVENT_RETURN, 0);
- APP_GUIOBJ_Channel_SetRFType(dParam, AL_DB_INVALIDHDL);
- APP_Console_TO_SUF_Respond(CON_TO_SUF_ACK);
- #if 0
- extern void Enable_Debug_Message(UINT32 DBGStatus);
- Enable_Debug_Message(1<<MODULEID_UMF);
- dvb_printf("ACK\n");
- Enable_Debug_Message(0);
- #endif
- break;
- #endif
- #ifdef SUPPORT_ATS
- case APP_DVB_GLOBAL_EVENT_ATS_SET_RF_TYPE:
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, UI_EVENT_RETURN, 0);
- APP_GUIOBJ_Channel_SetRFType(dParam, AL_DB_INVALIDHDL);
- break;
- case APP_DVB_GLOBAL_EVENT_ATS_GET_DEMODINFO_ON:
- uGetDemodinfoOn = 1;
- APP_ATS_Get_Demodinfo_On();
- break;
- case APP_DVB_GLOBAL_EVENT_ATS_GET_DEMODINFO_OFF:
- uGetDemodinfoOn = 0;
- break;
- #endif
- case UI_EVENT_MultiPanelIndex:
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- if (APP_Factory_GetAutoTestOnOff() == TRUE)
- {
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_FM_FACTORYSETTING))
- {
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_FM_FACTORYSETTING, 1);
- Factory_Ver_Debug();
- }
- else
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_FM_FACTORYSETTING);
- }
- }
- else
- #endif
- {
- UINT8 u8PanelIdx = tv_GetPanelIndex();
- u8PanelIdx = (u8PanelIdx + 1) % CONFIG_PANEL_NUM;
- tv_SetPanelIndex(u8PanelIdx);
- g_stFactoryUserData.Function.PanelSetting.n_MultiplePanelIndex = u8PanelIdx;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER,
- ITEM_OFFSET(APP_SETTING_FactoryUser_t, Function.PanelSetting.n_MultiplePanelIndex), sizeof(g_stFactoryUserData.Function.PanelSetting.n_MultiplePanelIndex),
- &(g_stFactoryUserData.Function.PanelSetting.n_MultiplePanelIndex));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER,
- ITEM_OFFSET(APP_SETTING_FactoryUser_t, Function.PanelSetting.n_MultiplePanelIndex), sizeof(g_stFactoryUserData.Function.PanelSetting.n_MultiplePanelIndex));
- printf("[%s], %d: Panel Index is %d\n", __FUNCTION__, __LINE__, u8PanelIdx);
- break;
- }
- break;
- #if (defined(SUPPORT_FACTORY_AUTO_TEST)||defined(SUPPORT_FACTORY_AUTO_TEST_MODE2))
- #ifdef CONFIG_CI_SUPPORT
- case UI_EVENT_AUTO_OUTPUTCI:
- if(APP_Factory_GetAutoTestOnOff() == TRUE)
- {
- APP_DVB_CI_GetCiStatus();
- }
- break;
- #endif
- #ifdef CONFIG_CI_SUPPORT
- case UI_EVENT_AUTO_READCI:
- if(APP_Factory_GetAutoTestOnOff() == TRUE)
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB, APP_DVB_GLOBAL_EVENT_OBJECT_OPEN|PASS_TO_SYSAPP, (DVB_GUIOBJ_CI_MENU|(1<<16)));
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_CI_MENU, APP_DVB_INTRA_EVENT_CI_CAM_ON_INIT, dParam);
- }
- break;
- #endif
- case UI_EVENT_AUTO_ATV:
- case UI_EVENT_AUTO_DTV:
- case UI_EVENT_AUTO_AV1:
- case UI_EVENT_AUTO_AV2:
- case UI_EVENT_AUTO_AV3:
- case UI_EVENT_AUTO_SVIDEO1:
- case UI_EVENT_AUTO_SVIDEO2:
- case UI_EVENT_AUTO_SCART1:
- case UI_EVENT_AUTO_SCART2:
- case UI_EVENT_AUTO_YPBPR1:
- case UI_EVENT_AUTO_YPBPR2:
- case UI_EVENT_AUTO_YPBPR3:
- case UI_EVENT_AUTO_HDMI1:
- case UI_EVENT_AUTO_HDMI2:
- case UI_EVENT_AUTO_HDMI3:
- case UI_EVENT_AUTO_HDMI4:
- case UI_EVENT_AUTO_PC:
- case UI_EVENT_AUTO_MEDIA:
- case UI_EVENT_AUTO_DVD:
- if(APP_Factory_GetAutoTestOnOff() == TRUE)
- {
- APP_Factory_SetAutoTestSourceChange(dMessage);
- }
- break;
- case UI_EVENT_FAC_F1:
- case UI_EVENT_FAC_RESET:
- //if(APP_Factory_GetAutoTestOnOff() == TRUE)
- {
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_STATEMAX, eSourType);
- APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_STATEMAX, eSourType);
- DVBApp_ClearStatus();
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK,
- APP_DVB_INTRA_EVENT_STOP_PLAYBACK, PLAYBACK_STOP_ALL);
- Factory_FactSet_ResetAllEx();
- //APP_Sysset_Reset(APP_SYSSET_RESET_ALL);
- }
- break;
- case UI_EVENT_VOL_MAX:
- g_stVariationalData.Volume = 100;
- APP_Audio_SetVolume(g_stVariationalData.Volume);
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL,
- ITEM_OFFSET(APP_SETTING_Variational_t, Volume),
- sizeof(g_stVariationalData.Volume),&(g_stVariationalData.Volume));
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL,
- ITEM_OFFSET(APP_SETTING_Variational_t, Volume), sizeof(g_stVariationalData.Volume));
- break;
- #endif
- #if 0
- case FW_DB_LOAD_DEFAULT:
- dvb_printf("[%s]FW_DB_LOAD_DEFAULT received.\n", __FUNCTION__);
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- if (AL_DBTYPE_DVB_S == APP_DVB_Playback_GetCurrentNetType())
- {
- /* wait for DVB-S becomes acticve */
- while(AL_FW_CheckActiveDBModule(AL_DBTYPE_DVB_S) != al_true);
- DVBApp_LoadCustomerDB(AL_DBTYPE_DVB_S);
- }
- #endif
- break;
- #endif
- #ifdef CONFIG_SUPPORT_EWS
- case FW_EWS_FIND_AUD:
- if (dParam != 0)
- {
- memset(&g_PrevAudioPid, 0, sizeof(DBPIDInfo_t));
- g_PrevAudioPid.usDataPID = DB_DVB_INVALID_PID;
- memset(&g_MonAudioPid, 0, sizeof(DBPIDInfo_t));
- g_MonAudioPid.usDataPID = DB_DVB_INVALID_PID;
- memcpy(&g_MonAudioPid, (DBPIDInfo_t *)dParam, sizeof(DBPIDInfo_t));
- DMIOC_SET_EWS_PARAM stEwsParam;
- memset(&stEwsParam, 0, sizeof(DMIOC_SET_EWS_PARAM));
- stEwsParam.bActive = FALSE;
- ioctl(dtvdev, DTV_IOCTL_Set_EWS_Data , &stEwsParam);
- memset(&stEwsParam, 0, sizeof(DMIOC_SET_EWS_PARAM));
- stEwsParam.bActive = TRUE;
- stEwsParam.clear_ews_flag = TRUE;
- stEwsParam.PID = g_MonAudioPid.usDataPID;
- dvb_printf("\n\n[%s]FW_EWS_FIND_AUD!!!!!!!, curr time: 0x%x\n\n", __FUNCTION__,GL_GetRtc32());
- ioctl(dtvdev, DTV_IOCTL_Set_EWS_Data , &stEwsParam);
- g_EWSMode = TRUE;
- GL_MemFree((DBPIDInfo_t *)(dParam));
- dParam = 0;
- }
- break;
- case FW_EWS_ACTIVE:
- dvb_printf("\n\n[%s]FW_EWS_ACTIVE!!!!!!!, curr time: 0x%x\n\n", __FUNCTION__,GL_GetRtc32());
- {
- dvbpsi_anouncement_t stAnoumceData;
- AL_Serv_SearchKey_t stSearchKey;
- AL_RecHandle_t hProgHdl;
- AL_RecHandle_t hTpHdl;
- AL_RecHandle_t hCurrTpHdl;
- UINT32 u32Param = 0;
- DMIOC_SET_EWS_PARAM stEwsParam;
- memset(&stAnoumceData, 0, sizeof(dvbpsi_anouncement_t));
- memset(&stSearchKey, 0, sizeof(stSearchKey));
- AL_EWS_Monitor_GetData(&stAnoumceData);
- stSearchKey.u16OrigNetId = stAnoumceData.original_network_id;
- stSearchKey.u16TsId = stAnoumceData.transport_stream_id;
- stSearchKey.u16ServId = stAnoumceData.service_id;
- stSearchKey.eDBType = eNetType;
- stSearchKey.eRecType = AL_RECTYPE_DVBSERVICE;
- stSearchKey.eSearchField = AL_SRV_SEARCHFIELD_ORIGNETID
- | AL_SRV_SEARCHFIELD_TSID
- | AL_SRV_SEARCHFIELD_SRVID;
- if (AL_SUCCESS == AL_DB_GetMatchedRecord((AL_DB_RecordMatchFunc)AL_Serv_MatchRecBySearchKey,
- (al_void *)&stSearchKey, eNetType, AL_RECTYPE_DVBSERVICE, AL_DB_REQ_GETFIRST, &hProgHdl))
- {
- MID_PlaybackGetCurProgHandle(al_null, &hCurrProgHandle);
- if ((hCurrProgHandle != hProgHdl) && (hProgHdl != AL_DB_INVALIDHDL))
- {
- g_NonClearEWS = TRUE;
- if ((g_MonAudioPid.usDataPID != DB_DVB_INVALID_PID) && (g_PrevAudioPid.usDataPID == DB_DVB_INVALID_PID))
- {
- g_PrevAudioPid.usDataPID = MID_PlaybackGetActiveAudHandle(TRUE);
- g_PrevAudioPid.usCodec = MID_PlaybackGetActiveAudCodec();
- }
- memset(&stEwsParam, 0, sizeof(DMIOC_SET_EWS_PARAM));
- stEwsParam.bActive = FALSE;
- ioctl(dtvdev, DTV_IOCTL_Set_EWS_Data , &stEwsParam);
- _DVBApp_Zapping(eServiceType, hProgHdl, TRUE, 0, TRUE);
- g_PrevProgHandle = hCurrProgHandle;
- hCurrTpHdl = hCurrProgHandle;
- hTpHdl = hProgHdl;
- if ((AL_SUCCESS == AL_DB_GetRecord(AL_DB_REQ_GETPARENT, eNetType, AL_RECTYPE_DVBMULTIPLEX, &hCurrTpHdl))
- && (AL_SUCCESS == AL_DB_GetRecord(AL_DB_REQ_GETPARENT, eNetType, AL_RECTYPE_DVBMULTIPLEX, &hTpHdl))
- && (hCurrTpHdl != AL_DB_INVALIDHDL) && (hTpHdl != AL_DB_INVALIDHDL) && (hCurrTpHdl != hTpHdl))
- {
- dvb_printf("[%s:%d] different tp, not need change audio pid !!!!!!!!!!!!!!!!!!!!!\n",__FUNCTION__,__LINE__);
- memset(&stEwsParam, 0, sizeof(DMIOC_SET_EWS_PARAM));
- stEwsParam.bActive = TRUE;
- stEwsParam.PID = g_MonAudioPid.usDataPID;
- ioctl(dtvdev, DTV_IOCTL_Set_EWS_Data , &stEwsParam);
- }
- else if (g_MonAudioPid.usDataPID != DB_DVB_INVALID_PID)
- {
- u32Param = g_MonAudioPid.usCodec<<16|g_MonAudioPid.usDataPID;
- MID_PlaybackChangePid(MID_PLAYBK_CHANGE_AUDPID, u32Param);
- memset(&stEwsParam, 0, sizeof(DMIOC_SET_EWS_PARAM));
- stEwsParam.bActive = TRUE;
- stEwsParam.PID = g_MonAudioPid.usDataPID;
- ioctl(dtvdev, DTV_IOCTL_Set_EWS_Data , &stEwsParam);
- }
- g_NonClearEWS = FALSE;
- }
- else if ((hCurrProgHandle == hProgHdl) && (hProgHdl != AL_DB_INVALIDHDL))
- {
- if ((g_MonAudioPid.usDataPID != DB_DVB_INVALID_PID) && (g_PrevAudioPid.usDataPID == DB_DVB_INVALID_PID))
- {
- g_PrevAudioPid.usDataPID = MID_PlaybackGetActiveAudHandle(TRUE);
- g_PrevAudioPid.usCodec = MID_PlaybackGetActiveAudCodec();
- u32Param = g_MonAudioPid.usCodec<<16|g_MonAudioPid.usDataPID;
- MID_PlaybackChangePid(MID_PLAYBK_CHANGE_AUDPID, u32Param);
- }
- }
- }
- }
- break;
- case FW_EWS_INACTIVE:
- dvb_printf("\n\n[%s]FW_EWS_INACTIVE!!!!!!!, g_PrevProgHandle: 0x%x, curr time: 0x%x\n\n", __FUNCTION__,g_PrevProgHandle, GL_GetRtc32());
- {
- DMIOC_SET_EWS_PARAM stEwsParam;
- UINT32 u32Param = 0;
- memset(&stEwsParam, 0, sizeof(DMIOC_SET_EWS_PARAM));
- stEwsParam.bActive = FALSE;
- ioctl(dtvdev, DTV_IOCTL_Set_EWS_Data , &stEwsParam);
- g_EWSMode = FALSE;
- g_NonClearEWS = TRUE;
- if (g_PrevProgHandle != AL_DB_INVALIDHDL)
- {
- _DVBApp_Zapping(eServiceType, g_PrevProgHandle, TRUE, 0, TRUE);
- g_PrevProgHandle = AL_DB_INVALIDHDL;
- }
- if (g_PrevAudioPid.usDataPID != DB_DVB_INVALID_PID)
- {
- u32Param = g_PrevAudioPid.usCodec<<16|g_PrevAudioPid.usDataPID;
- MID_PlaybackChangePid(MID_PLAYBK_CHANGE_AUDPID, u32Param);
- memset(&g_PrevAudioPid, 0, sizeof(DBPIDInfo_t));
- g_PrevAudioPid.usDataPID = DB_DVB_INVALID_PID;
- }
- g_NonClearEWS = FALSE;
- memset(&stEwsParam, 0, sizeof(DMIOC_SET_EWS_PARAM));
- stEwsParam.clear_ews_flag = true;
- stEwsParam.bActive = TRUE;
- stEwsParam.PID = g_MonAudioPid.usDataPID;
- ioctl(dtvdev, DTV_IOCTL_Set_EWS_Data , &stEwsParam);
- }
- break;
- case FW_EWS_NON_ANCM:
- dvb_printf("\n\n[%s]FW_EWS_NON_ANCM!!!!!!!, curr time: 0x%x\n\n", __FUNCTION__, GL_GetRtc32());
- {
- DMIOC_SET_EWS_PARAM stEwsParam;
- memset(&stEwsParam, 0, sizeof(DMIOC_SET_EWS_PARAM));
- stEwsParam.bActive = FALSE;
- ioctl(dtvdev, DTV_IOCTL_Set_EWS_Data , &stEwsParam);
- DVBApp_ResetEWS();
- }
- break;
- #endif
- case APP_GLOBAL_EVENT_RESCAN:
- {
- _DVBApp_Exit_All_Menu();
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NETWORK_UPDATING);
- APP_GUIOBJ_ScanProcess_SetCurrentSearchMode( SEARCH_D_NETWORK_UPDATE_MODE );
- #ifdef SUPPORT_CHANGE_TS_DYNAMICALLY
- if( APP_Get_DTVHiddenScanState() )
- {
- APP_ScanProcess_Stop();
- APP_SetSrcChgFlag( TRUE );
- while( !AL_CS_IsStop() )
- {
- if( APP_Get_DTVHiddenScanState() )
- break;
- else
- GL_TaskSleep(50);
- }
- APP_SetSrcChgFlag( FALSE );
- }
- #endif
- APP_DTV_ScanProcess_Start( SEARCH_D_NETWORK_UPDATE_MODE );
- break;
- }
- #if 0//def CONFIG_SUPPORT_MIRACAST
- case DMN_EVENT_MIRACAST_CONNECTING:
- dvb_printf("DMN_EVENT_MIRACAST_CONNECTING.\n");
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_INITINSTALL))
- {
- break;
- }
- /* Scan State */
- if (AL_CS_IsStop() != 1)
- {
- break;
- }
- /*
- ** Channel Tuning,
- ** Channel - Digital Manual Search,
- */
- if ((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_AUTO_SEARCH))
- || (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SCAN_PROCESS))
- #if (defined CONFIG_DVB_SYSTEM_DVBT_SUPPORT)
- || (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_DVB_T_MANUAL_SEARCH))
- #endif
- #if (defined CONFIG_DVB_SYSTEM_DVBC_SUPPORT)
- || (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_DVB_C_MANUAL_SEARCH))
- #endif
- )
- {
- break;
- }
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_RecorderIsCurRecording() == DRV_SUCCESS)
- {
- break;
- }
- #endif
- DVBApp_ResetPopup_Channel();
- _DVBApp_CloseAllMenu();
- /* Check Valid state ---*/
- if (SP_SUCCESS != APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_NET))
- {
- dvb_printf("[DvbApp OnGlobalEvent] APP_GUIOBJ_Source_SetAppSource faild.\n");
- }
- break;
- case DMN_EVENT_MIRACAST_EXIT_SUCCESS:
- dvb_printf("DMN_EVENT_MIRACAST_EXIT_SUCCESS.\n");
- //if(IsDonglePlugged())
- {
- //DrawInfoWindow("Device Plugged", DRAW_IT);
- GL_TaskSleep(3000);
- MiracastInit();
- }
- //else{
- //DrawInfoWindow("NO Device", DRAW_IT);
- //}
- break;
- #endif
- #ifdef SUPPORT_IR_HOTKEY
- case UI_EVENT_DTV:
- _DVBApp_CloseAllMenu();
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_ATV);
- break;
- case UI_EVENT_AV:
- _DVBApp_CloseAllMenu();
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_AV);
- break;
- case UI_EVENT_HDMI:
- _DVBApp_CloseAllMenu();
- APP_GUIOBJ_Source_SetAppSource(APP_SOURCE_PC);
- break;
- #endif
- default:
- dvb_printf("[%s] Unknown message 0x%x received.\n", __FUNCTION__, dMessage);
- break;
- }
- return 0;
- }
- static INT32 _DVBApp_OnGUIFeedbackEvent(void *pPrivateData, UINT32 dMessage, UINT32 dParam)
- {
- al_uint8 bSignalState = al_false;
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- AL_DB_ERecordType_t eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- #ifdef CONFIG_SUPPORT_PVR
- UINT8 u8MidRecState;
- UINT8 u8MIDRecMode;
- u8MidRecState = MID_RecorderState();
- u8MIDRecMode = MID_Recorder_GetRecMode();
- #endif
- switch (dMessage)
- {
- case GUI_RESPOND_ZAPPING:
- {
- AL_RecHandle_t NextHdl = dParam;
- _DVBApp_CloseAllMenu();
- if ((NextHdl != AL_DB_INVALIDHDL)
- #ifdef CONFIG_CIPLUS_SUPPORT
- || (APP_CIPLUS_IsProfileSource())
- #endif
- )
- {
- _DVBApp_Zapping(eServiceType, NextHdl, FALSE, 0, TRUE);
- }
- }
- break;
- #ifdef CONFIG_CIPLUS_SUPPORT
- case GUI_RESPOND_FORCE_ZAPPING:
- {
- AL_RecHandle_t NextHdl = dParam;
- _DVBApp_CloseAllMenu();
- if( NextHdl != AL_DB_INVALIDHDL )
- {
- _DVBApp_Zapping(eServiceType, NextHdl, TRUE, 0, TRUE);
- }
- break;
- }
- #endif
- case GUI_RESPOND_EXIT_ALL_MENU:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SLEEP_INFO))
- {
- if(APP_GUIOBJ_SleepTimer_GetOpenStandby() == al_true)
- {
- _DVBApp_Exit_All_Menu();
- if(APP_GUIOBJ_SleepTimer_GetSleepPopConflict() == TRUE)
- {
- APP_GUIOBJ_SleepTimer_SetSleepPopConflict(FALSE);
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- (APP_GLOBAL_EVENT_SLEEP_TIMER_INFO|PASS_TO_SYSAPP), APP_POWERDOWN_SLEEP);
- }
- }
- else
- {
- _DVBApp_Exit_All_Menu();
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if((bSignalState != AL_DVB_MONITOR_VALUE_TRUE)&&(APP_GUIOBJ_SleepTimer_GetStandbyPopConflict() == TRUE))
- {
- APP_GUIOBJ_SleepTimer_SetStandbyPopConflict(FALSE);
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- (APP_GLOBAL_EVENT_SLEEP_TIMER_INFO | PASS_TO_SYSAPP), APP_POWERDOWN_NO_SINGAL);
- }
- }
- }
- else
- {
- _DVBApp_Exit_All_Menu();
- }
- break;
- #ifdef CONFIG_SUPPORT_PVR
- case GUI_RESPOND_REC_DURATIONTIME_EXIT:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_RECDURATIONTIME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_RECDURATIONTIME);
- }
- break;
- case GUI_RESPOND_PVRPLAY_TO_GOTO:
- PVR_DEBF("goto is enter!!1\n");
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_GOTO);
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO, dMessage, 0);
- break;
- case GUI_RESPOND_PVRFILEPLAY_ERROR:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY);
- }
- break;
- case GUI_RESPOND_CLOSE_PVRINFO:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- break;
- case GUI_RESPOND_CLOSE_PLAYINFO:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO);
- }
- break;
- case GUI_RESPOND_PVRINFO_FROMEXTENDINFO:
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO);
- }
- if (u8MidRecState != MID_REC_STATUS_STOP)
- {
- if (u8MIDRecMode == MID_REC_MODE_TIMESHIFT_AFTER_REC)
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB,
- DVB_GUIOBJ_PVR_PLAYINFO, PVR_PLAYINFO_ENTERNOTIMEMENU);
- }
- else if ((u8MIDRecMode == MID_REC_MODE_AUTO)
- && (MID_TSPLParser_GetThreadState() == TRUE))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB,
- DVB_GUIOBJ_PVR_PLAYINFO, PVR_PLAYINFO_ENTERNOTIMEMENU);
- }
- else if ((u8MIDRecMode == MID_REC_MODE_MANUAL)
- && (u8MidRecState == MID_REC_STATUS_START))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC, 0);
- #ifdef SUPPORT_PVR_RECORD_PLAY_CURRENTRECORD
- if((DVBAPP_Pvr_GetRECPlayFlag())
- && (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO)))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO,
- PVR_PLAYINFO_ENTERNOTIMEMENU);
- }
- #endif
- }
- else if (u8MidRecState == MID_REC_STATUS_PAUSE)
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PAUSE, 0);
- #ifdef SUPPORT_PVR_RECORD_PLAY_CURRENTRECORD
- if((DVBAPP_Pvr_GetRECPlayFlag())
- && (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO)))
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_PVR_PLAYINFO,
- PVR_PLAYINFO_ENTERNOTIMEMENU);
- }
- #endif
- }
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB,
- DVB_GUIOBJ_PVRREC_INFO, 0);
- }
- break;
- #endif
- default:
- dvb_printf("[%s] Unknown message received.\n", __FUNCTION__);
- break;
- }
- return 0;
- }
- static INT32 _DVBApp_OnEvent(void *pPrivateData, UINT32 dMessage, UINT32 dParam)
- {
- switch (dMessage & GUIOBJ_MESSAGE_TYPE_MASK)
- {
- case SYSAPP_GLOBAL_EVENT_TYPE:
- _DVBApp_OnGlobalEvent(pPrivateData, (dMessage & GUIOBJ_MESSAGE_MASK), dParam);
- break;
- case GUIOBJ_FEEDBACK_EVENT_TYPE:
- _DVBApp_OnGUIFeedbackEvent(pPrivateData, (dMessage & GUIOBJ_MESSAGE_MASK), dParam);
- break;
- default:
- dvb_printf("[%s] Unknown message 0x%x received.\n", __FUNCTION__, dMessage);
- break;
- }
- return 0;
- }
- INT32 _DVBApp_DataApplicationStatus(UINT32 u32module)
- {
- int iret = DATA_APP_UNSTABLE;
- UINT8 u8ProgState = MID_PLAYBK_PROG_STATE_NORMAL;
- #ifdef CONFIG_SUPPORT_MHEG5
- // BOOLEAN eRecordState = FALSE;
- #endif
- #ifdef CONFIG_SUPPORT_SUBTITLE
- UINT8 onoff = 0;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- onoff = g_stUserInfoData.Subtitle;
- #endif
- switch (u32module & OSD2CTRLMDL_ALL)
- {
- #ifdef CONFIG_SUPPORT_SUBTITLE
- case OSD2CTRLMDL_SUB:
- if (APP_GUIOBJ_SubTitle_IsThereAnyData())
- {
- iret |= DATA_APP_LANUCHABLE;
- }
- else
- {
- iret |= DATA_APP_NOT_FOUND;
- }
- if (iret & DATA_APP_LANUCHABLE)
- {
- if (onoff == TRUE
- #ifdef CONFIG_MOD_PACK_SUB
- && (_DVBApp_DispSub() == TRUE)
- #endif
- )
- {
- iret |= DATA_APP_EXECUTABLE;
- }
- }
- break;
- #endif
- #ifdef CONFIG_SUPPORT_MHEG5
- case OSD2CTRLMDL_MH5:
- if (APP_DVB_Mheg5_GetBootCarouselStatus() == MHEG5_BOOT_CAROUSEL_EXISTED)
- {
- iret |= DATA_APP_LANUCHABLE | DATA_APP_EXECUTABLE;
- }
- else
- {
- iret |= DATA_APP_NOT_FOUND;
- }
- //if (eRecordState == TRUE)
- // {
- // iret &= ~DATA_APP_EXECUTABLE;
- //}
- break;
- #endif
- default:
- dvb_printf("%s(): unknow module index\n", __FUNCTION__);
- break;
- }
- #ifdef CONFIG_SUPPORT_PVR
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- #endif
- {
- u8ProgState = APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL);
- if (u8ProgState == MID_PLAYBK_PROG_STATE_LOCKED)
- {
- iret &= ~DATA_APP_EXECUTABLE;
- }
- }
- return iret;
- }
- static INT32 _DVBApp_DataApplicationGuiObjectRefresh(UINT32 gui_object_selection)
- {
- int ret = 0;
- #ifdef CONFIG_SUPPORT_MHEG5
- if (gui_object_selection & OSD2CTRLMDL_MH5)
- {
- if (!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5)
- && gui_object_selection & OSD2CTRLMDL_ENABLE
- #ifdef CONFIG_SUPPORT_TTX
- && !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX)
- #endif
- #ifdef CONFIG_SUPPORT_SUBTITLE
- && !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLE)
- #endif
- )
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_MHEG5, 0);
- }
- else if(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MHEG5)
- && (gui_object_selection & OSD2CTRLMDL_DISABLE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_MHEG5);
- }
- }
- #endif
- #ifdef CONFIG_SUPPORT_SUBTITLE
- if (gui_object_selection & OSD2CTRLMDL_SUB)
- {
- if (gui_object_selection & OSD2CTRLMDL_ENABLE)
- {
- if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLE))
- {
- #ifdef CONFIG_SUPPORT_TTX
- if(!(SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX)))
- #endif
- {
- #if (defined CONFIG_MOD_PACK_SUB) || (defined CONFIG_MOD_PACK_TT)
- if (MID_RecorderIsCurRecording() != DRV_SUCCESS)
- #endif
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLE, 0);
- }
- }
- else
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB,
- DVB_GUIOBJ_SUBTITLE, APP_DVB_INTRA_EVENT_OSD2_RESTART, 0);
- }
- }
- else if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLE)
- && (gui_object_selection & OSD2CTRLMDL_DISABLE))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLE);
- }
- }
- #endif
- return ret;
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_GetScrambleState
- **
- ** DESCRIPTION :
- ** get current program scramnle attrib
- **
- ** PARAMETERS :
- ** none
- **
- ** RETURN VALUES:
- ** TRUE - SCRAMBLE ATTRIB
- ** FALSE - UN SCRAMBLE ATTRIB
- *****************************************************************************/
- Boolean DVBApp_GetScrambleAttrib(void)
- {
- DBServAttrib_t stProgAttrib;
- AL_DB_EDBType_t DBType = AL_DBTYPE_DVB_T;
- AL_RecHandle_t hProg = AL_DB_INVALIDHDL;
- DBType = APP_DVB_Playback_GetCurrentNetType();
- hProg = APP_DVB_Playback_GetCurrentProgHandle(DBType, AL_RECTYPE_DVBTV | AL_RECTYPE_DVBRADIO);
- memset(&stProgAttrib, 0, sizeof(DBServAttrib_t));
- AL_DB_QueryDetailFieldByName(hProg, (al_uint8 *)"stProgAttrib", (al_void *)&stProgAttrib);
- if (stProgAttrib.scramble == al_true)
- {
- return TRUE;
- }
- else
- {
- return FALSE;
- }
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_CheckServiceNotAvailable
- **
- ** DESCRIPTION :
- ** Check current program state is not available or not
- **
- ** PARAMETERS :
- ** none
- **
- ** RETURN VALUES:
- ** TRUE - service not available
- ** FALSE - not service not available
- *****************************************************************************/
- Boolean DVBApp_CheckServiceNotAvailable(void)
- {
- MID_PlaybackProgState_t eProgState = MID_PLAYBK_PROG_STATE_NORMAL;
- AL_RecHandle_t hCurrPrgHdl = AL_DB_INVALIDHDL;
- AL_DB_EDBType_t eDBType = APP_DVB_Playback_GetCurrentNetType();
- al_uint8 bSignalState = AL_DVB_MONITOR_VALUE_INVAILED;
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL,&bSignalState);
- if (g_bNoSteamData == TRUE)
- {
- #ifdef CONFIG_SUPPORT_MHEG5
- if ((APP_Area_SupportDtg())
- && (APP_DVB_Mheg5_GetBootCarouselStatus() == MHEG5_BOOT_CAROUSEL_EXISTED))
- {
- return FALSE;
- }
- else
- #endif
- #ifdef CONFIG_CIPLUS_SUPPORT
- if (MID_DTVCI_GetAppMMIStatus())
- {
- return FALSE;
- }
- else
- #endif
- {
- hCurrPrgHdl = APP_DVB_Playback_GetCurrentProgHandle(eDBType, (AL_RECTYPE_DVBTV |AL_RECTYPE_DVBRADIO));
- if ((hCurrPrgHdl == AL_DB_INVALIDHDL) && (bSignalState != AL_DVB_MONITOR_VALUE_INVAILED))
- {
- dvb_printf("Get current program handle error!!!\n");
- return TRUE;
- }
- eProgState = APP_DVB_Playback_GetProgStateByHandle(eDBType, hCurrPrgHdl);
- if ((eProgState == MID_PLAYBK_PROG_STATE_NOT_RUNNING) && (bSignalState != AL_DVB_MONITOR_VALUE_INVAILED))
- {
- return TRUE;
- }
- if ((eProgState != MID_PLAYBK_PROG_STATE_LOCKED) && (bSignalState != AL_DVB_MONITOR_VALUE_INVAILED))
- {
- return TRUE;
- }
- else
- {
- return FALSE;
- }
- }
- }
- return FALSE;
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_CheckProgramType
- **
- ** DESCRIPTION :
- ** Check program lock or temp sevice or vedio mpeg4 and so on
- **
- ** PARAMETERS :
- ** bInit - program state dispose
- **
- ** RETURN VALUES:
- ** SP_ERR_FAILURE - can not playback
- ** SP_SUCCESS - playback
- *****************************************************************************/
- INT32 DVBApp_CheckProgramType(Boolean bFlag)
- {
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- AL_DB_ERecordType_t eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- INT16 i16ProgState = MID_PLAYBK_PROG_STATE_NORMAL;
- al_uint8 bMonitorState = al_false;
- al_uint8 bSignalState = al_false;
- UINT8 u8Mute = 0;
- INT32 i32Ret = SP_ERR_FAILURE;
- APP_Source_Type_t eSourType = APP_SOURCE_MAX;
- //al_bool bHasValidServ = al_false;
- #ifdef CONFIG_CIPLUS_SUPPORT
- if (APP_CIPLUS_IsProfileSource())
- {
- if (g_isMute)
- {
- return SP_SUCCESS;
- }
- }
- #endif
- //bHasValidServ = AL_DB_HasVisibleService(eNetType);
- AL_RecHandle_t hTempHdl = AL_DB_INVALIDHDL;
- MID_PlaybackGetCurProgHandle(al_null, &hTempHdl);
- APP_GUIOBJ_Source_GetCurrSource(&eSourType);
- i16ProgState = APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL);
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_MONITOR, &bMonitorState);
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- printf("\n @@@@@@@@@@@@@dvb_app.c i16ProgState=%d bMonitorState=%d bSignalState=%d line=%d \n",i16ProgState,bMonitorState,bSignalState,__LINE__);
- //if ((bMonitorState) && (bSignalState == AL_DVB_MONITOR_VALUE_TRUE) && bHasValidServ)
- if ((bMonitorState) && (bSignalState == AL_DVB_MONITOR_VALUE_TRUE) && (hTempHdl != AL_DB_INVALIDHDL))
- {
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_NO_SIGNAL))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_NO_SIGNAL, UI_EVENT_NULL);
- }
- #ifdef CONFIG_SUPPORT_PVR //if playing timeshift file not to show pop
- UINT32 u32PEState = MID_TSPL_MODE_STOP;
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- u8Mute = g_stUserInfoData.Mute;//for manits 151777
- if (MID_TSPLParser_GetPlayState(&u32PEState, NULL) == DRV_SUCCESS)
- {
- if (MID_TSPL_MODE_STOP != u32PEState)
- {
- if ((u8Mute == FALSE) && (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY)))
- {
- APP_Audio_SetMute(FALSE, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- return SP_ERR_FAILURE;
- }
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- if(u8Mute == FALSE)
- {
- APP_Audio_SetMute(FALSE, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- return SP_ERR_FAILURE;
- }
- #endif
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- MID_PlaybackGetCurProgHandle(al_null, &hTempHdl);
- DBPIDInfo_t stVideoPid;
- memset(&stVideoPid,0xff,sizeof(DBPIDInfo_t));
- AL_DB_QueryDetailFieldByName(hTempHdl, (al_uint8 *)"stVideoPid", (al_void *)&stVideoPid);
- #endif
- switch (i16ProgState)
- {
- case MID_PLAYBK_PROG_STATE_AUDIO_VIDEO_SCRAMBLED:
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- if (DVBApp_CheckHasVideo() == TRUE)
- #else
- if (eServiceType != AL_RECTYPE_DVBRADIO) //zhongbaoxing added for mantis 0153467 @20110926
- #endif
- {
- APP_GUIOBJ_DVB_Playback_ClearShowLogo();
- }
- #if 0
- #if 1 //richiechang 20120430, for samsung & SONY TVSet Behavior
- MID_PlaybackStreamInfo_t stAudStrmInfo;
- memset(&stAudStrmInfo, 0, sizeof(MID_PlaybackStreamInfo_t));
- MID_PlaybackGetAudioStreamInfo(&stAudStrmInfo, GL_NO_WAIT);
- if (stAudStrmInfo.bIsScrambled)
- {
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType); // mute audio if audio is scrambled
- }
- else
- {
- APP_Audio_SetMute(g_stUserInfoData.Mute, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType); // mute audio based on user setting if audio is not scrambled
- }
- #else //richiechang 20120430, for SPV9200_Orion Behavior
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType); // mute audio if video is scrambled
- #endif
- #endif
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType); // mute audio if audio is scrambled
- APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- #if 0
- if (bFlag == TRUE)
- {
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_SCRAMBLED) == FALSE)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_SCRAMBLE);
- }
- }
- #endif
- i32Ret = SP_ERR_FAILURE;
- break;
- case MID_PLAYBK_PROG_STATE_ONLY_VIDEO_SCRAMBLED:
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- if (DVBApp_CheckHasVideo() == TRUE)
- #else
- if (eServiceType != AL_RECTYPE_DVBRADIO) //zhongbaoxing added for mantis 0153467 @20110926
- #endif
- {
- APP_GUIOBJ_DVB_Playback_ClearShowLogo();
- }
- APP_Audio_SetMute(g_stUserInfoData.Mute, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType); // mute audio based on user setting if audio is not scrambled
- APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- #if 1 //for samsung & SONY TVSet Behavior
- if (bFlag == TRUE)
- {
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_SCRAMBLED) == FALSE)
- {
- printf("\n#####Pop Scramble MSG Menu,F=%s,L=%d######\n",__FUNCTION__,__LINE__);
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_SCRAMBLE);
- }
- }
- #endif
- i32Ret = SP_ERR_FAILURE;
- break;
- case MID_PLAYBK_PROG_STATE_LOCKED:
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- if (DVBApp_CheckHasVideo() == TRUE)
- #else
- if (eServiceType != AL_RECTYPE_DVBRADIO) //zhongbaoxing added for mantis 0153467 @20110926
- #endif
- {
- APP_GUIOBJ_DVB_Playback_ClearShowLogo();
- }
- APP_GUIOBJ_DVB_Playback_SetPlayState(FALSE);
- if (bFlag == TRUE)
- {
- UINT32 u32PopMsgDialogType = POPMSG_PROMPT_NO_PROG;
- APP_GUIOBJ_PopMsg_GetMsgDialogType(&u32PopMsgDialogType);
- if ((DVBApp_IsPopupExist(PLAYBACK_POPUP_PWD_LOCKED) == FALSE)
- #ifdef CONFIG_SUPPORT_PVR
- && (u32PopMsgDialogType != POPMSG_PROMPT_INITIAL_AUTOTIMESHIFT)
- && (u32PopMsgDialogType != POPMSG_PROMPT_INITIAL_REC)
- && (u32PopMsgDialogType != POPMSG_PROMPT_INITIAL_TIMESHIFT)
- && (u32PopMsgDialogType != POPMSG_PROMPT_INVALID_REC)
- #endif
- )
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CHECKPWD);
- }
- }
- i32Ret = SP_ERR_FAILURE;
- break;
- case MID_PLAYBK_PROG_STATE_TEMP_SERVICE:
- if ((bFlag == TRUE) && (DVBApp_CheckServiceNotAvailable() == TRUE))
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_TEMPSERVICE);
- }
- if (DVBApp_CheckServiceNotAvailable() == FALSE)
- {
- MID_DISP_DTVSetVideoUnmute();
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- if (g_stUserInfoData.Mute == FALSE)
- {
- APP_Audio_SetMute(g_stUserInfoData.Mute, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- }
- i32Ret = SP_ERR_FAILURE;
- break;
- case MID_PLAYBK_PROG_STATE_VIDEO_MPEG4:
- if (bFlag == TRUE)
- {
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_VIDEO_NOT_SUPPORT) == FALSE)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_VIDEO_NOT_SUPPORT);
- }
- }
- i32Ret = SP_ERR_FAILURE;
- break;
- case MID_PLAYBK_PROG_STATE_REPLACE:
- if (DVBApp_CheckServiceNotAvailable() == FALSE)
- {
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- if (DVBApp_CheckHasVideo() == FALSE)
- #else
- if (eServiceType == AL_RECTYPE_DVBRADIO)
- #endif
- {
- if (APP_GUIOBJ_DVB_Playback_GetShowLogoState() == FALSE)
- {
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PLAYBACK, APP_DVB_INTRA_EVENT_SHOWLOGO, 0);
- }
- }
- }
- i32Ret = SP_ERR_FAILURE;
- break;
- case MID_PLAYBK_PROG_STATE_ONLY_AUDIO_SCRAMBLED:
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- if ((stVideoPid.usDataPID&0x1fff) == 0x1fff)
- #else
- if(eServiceType == AL_RECTYPE_DVBRADIO)
- #endif
- {
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- if (bFlag == TRUE)
- {
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_RADIO_CHANNEL))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_RADIO_CHANNEL, UI_EVENT_NULL);
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_NO_SIGNAL))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_NO_SIGNAL, UI_EVENT_NULL);
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_SCRAMBLED) == FALSE)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_SCRAMBLE);
- }
- }
- i32Ret = SP_ERR_FAILURE;
- break;
- }
- case MID_PLAYBK_PROG_STATE_VIDEO_AVC:
- case MID_PLAYBK_PROG_STATE_NOT_RUNNING:
- default:
- if (bFlag == TRUE)
- {
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_PWD_LOCKED) == TRUE)
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_PWD_LOCKED, UI_EVENT_NULL);
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_SCRAMBLED) == TRUE)
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_SCRAMBLED, UI_EVENT_NULL);
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_TEMPSERVICE) == TRUE)
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_TEMPSERVICE, UI_EVENT_NULL);
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_TEMPSERVICE_SERVICE_NOT_RUNNING) == TRUE)
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_TEMPSERVICE_SERVICE_NOT_RUNNING, UI_EVENT_NULL);
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_TEMPSERVICE_LOAD_MHEG5) == TRUE)
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_TEMPSERVICE_LOAD_MHEG5, UI_EVENT_NULL);
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_VIDEO_NOT_SUPPORT) == TRUE && g_UnsupportVideo == FALSE)
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_VIDEO_NOT_SUPPORT, UI_EVENT_NULL);
- }
- }
- if (DVBApp_CheckServiceNotAvailable() == TRUE)
- {
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- if (DVBApp_CheckHasVideo() == TRUE)
- #else
- if (eServiceType != AL_RECTYPE_DVBRADIO) //zhongbaoxing added for mantis 0153467 @20110926
- #endif
- {
- APP_GUIOBJ_DVB_Playback_ClearShowLogo();
- }
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- if (bFlag == TRUE)
- {
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_SERVICE_NOT_AVAILABLE) == FALSE)
- {
- if(APP_Get_DTVHiddenScanState() != TRUE)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_SERVICE_NOT_AVAILABLE);
- }
- }
- }
- i32Ret = SP_ERR_FAILURE;
- }
- else
- {
- if (bFlag == TRUE && g_UnsupportVideo == TRUE)
- {
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_VIDEO_NOT_SUPPORT) == FALSE)
- {
- if(APP_Get_DTVHiddenScanState() != TRUE)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_VIDEO_NOT_SUPPORT);
- }
- }
- }
- #ifdef SHOW_LOGO_RADIO
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- if (DVBApp_CheckHasVideo() == TRUE)
- #else
- if (eServiceType != AL_RECTYPE_DVBRADIO) //zhongbaoxing added for mantis 0153467 @20110926
- #endif
- #endif
- {
- APP_GUIOBJ_DVB_Playback_ClearShowLogo();
- }
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- u8Mute = g_stUserInfoData.Mute;
- #ifndef PLAY_VIDEO_FOR_ALLSRV
- if (eServiceType == AL_RECTYPE_DVBRADIO)
- {
- //if ((bSetUnMuteFlag == FALSE))
- {
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- u8Mute = g_stUserInfoData.Mute;
- #ifndef SHOW_LOGO_RADIO
- #ifdef CONFIG_SUPPORT_MHEG5
- /* do not mute video while MHEG5 is being displayed, because it could be playing I-frame */
- if ((eServiceType == AL_RECTYPE_DVBTV)
- && ((APP_DVB_Mheg5_GetBootCarouselStatus() != MHEG5_BOOT_CAROUSEL_EXISTED)
- || APP_Area_SupportDtg() == FALSE || APP_DVB_Mheg5_GetMheg5DisplayStatus() == FALSE))
- #endif
- APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- #else
- APP_Video_SetMute(FALSE, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- if (APP_WAKEUP_GetBootFlag() == TRUE)
- {
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_STATEMAX, APP_SOURCE_MAX);
- }
- else
- #endif
- #endif
- {
- APP_Audio_SetMute(u8Mute, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- }
- }
- else if ((eServiceType == AL_RECTYPE_DVBTV)||(eServiceType == AL_RECTYPE_DVBDATA))
- #endif
- {
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_RADIO_CHANNEL) == TRUE)
- {
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- if ((eServiceType == AL_RECTYPE_DVBTV)||(eServiceType == AL_RECTYPE_DVBDATA)
- || (eServiceType == AL_RECTYPE_DVBRADIO && ((stVideoPid.usDataPID&0x1fff) != 0x1fff)))
- #endif
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_RADIO_CHANNEL, UI_EVENT_NULL);
- }
- #ifdef PLAY_VIDEO_FOR_ALLSRV
- if (DVBApp_CheckHasVideo() == FALSE)
- {
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- u8Mute = g_stUserInfoData.Mute;
- #ifndef SHOW_LOGO_RADIO
- #ifdef CONFIG_SUPPORT_MHEG5
- /* do not mute video while MHEG5 is being displayed, because it could be playing I-frame */
- if ((eServiceType == AL_RECTYPE_DVBTV)
- && ((APP_DVB_Mheg5_GetBootCarouselStatus() != MHEG5_BOOT_CAROUSEL_EXISTED)
- || APP_Area_SupportDtg() == FALSE || APP_DVB_Mheg5_GetMheg5DisplayStatus() == FALSE))
- #endif
- APP_Video_SetMute(TRUE, FALSE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- #else
- APP_Video_SetMute(FALSE, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- if (APP_WAKEUP_GetBootFlag() == TRUE)
- {
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_STATEMAX, APP_SOURCE_MAX);
- }
- else
- #endif
- #endif
- {
- APP_Audio_SetMute(u8Mute, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- }
- else
- #endif
- {
- /*modify by qinhe for mantis 0011456*/
- if ((g_SetPQFlag == TRUE) && (g_bMidHasUnmute == TRUE))
- {
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- u8Mute = g_stUserInfoData.Mute;
- #ifdef CONFIG_SUPPORT_PVR
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- if (APP_WAKEUP_GetBootFlag() == TRUE)
- {
- APP_Audio_SetMute(TRUE, FALSE, APP_MUTE_MODE_STATEMAX, APP_SOURCE_MAX);
- }
- else
- #endif
- #endif
- {
- APP_Audio_SetMute(u8Mute, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- }
- APP_Video_SetMute(FALSE, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- }
- i32Ret = SP_SUCCESS;
- }
- break;
- }
- }
- else
- {
- #ifdef CONFIG_SUPPORT_PVR //if playing timeshift file not to mute video
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- u8Mute = g_stUserInfoData.Mute;//for manits 151777
- if (MID_TSPLParser_GetThreadState() == TRUE)
- {
- if ((u8Mute == FALSE) && (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- && (APP_GUIOBJ_DVB_PvrFilePlay_GetLockState() == FALSE))
- {
- APP_Audio_SetMute(FALSE, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- return SP_ERR_FAILURE;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_FILEPLAY))
- {
- if((u8Mute == FALSE) && (APP_GUIOBJ_DVB_PvrFilePlay_GetLockState() == FALSE))
- {
- APP_Audio_SetMute(FALSE, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, eSourType);
- }
- return SP_ERR_FAILURE;
- }
- #endif
- APP_Audio_SetMute(TRUE, TRUE, APP_MUTE_MODE_NO_SIGNALE, eSourType);
- #ifdef SUPPORT_DTV_SHOW_BLUESCREEN
- if (g_stSetupData.BlueScreen == APP_SWITCH_ON)
- {
- #ifdef CONFIG_DVB_SYSTEM
- APP_SCARTOUT_SetVideoMute(APP_SOURCE_DTV, DTV_TRUE, TRUE);
- #endif
- if (!g_bIsBlueScreen)
- {
- MID_DISP_DTVSetVideoMute(0,0,255);
- }
- }
- else
- #endif
- {
- APP_Video_SetMute(TRUE, TRUE, APP_MUTE_MODE_NO_SIGNALE, eSourType);
- }
- APP_GUIOBJ_DVB_Playback_ClearShowLogo();
- if (bFlag == TRUE)
- {
- APP_GUIOBJ_DVB_Playback_ClearShowLogo();
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_RADIO_CHANNEL))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_RADIO_CHANNEL, UI_EVENT_NULL);
- }
- if (APP_DVB_Playback_GetProgStateByHandle(APP_DVB_Playback_GetCurrentNetType(), AL_DB_INVALIDHDL)
- == MID_PLAYBK_PROG_STATE_LOCKED)
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_CHECKPWD);
- }
- else if ((DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_NO_SIGNAL) == FALSE)
- #ifdef CONFIG_SUPPORT_PVR
- && (APP_GUIOBJ_DVB_PvrPlayInfo_GetTunerState() == FALSE)
- #endif
- && (bSignalState == AL_DVB_MONITOR_VALUE_FALSE)
- )
- {
- _DVBApp_ShowPopup(DVB_APP_POP_MSG_NO_SIGNAL);
- }
- }
- i32Ret = SP_ERR_FAILURE;
- }
- return i32Ret;
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_SchedulePopup
- **
- ** DESCRIPTION :
- ** Schedule dvb popmsg
- **
- ** PARAMETERS :
- ** Popup - popmsg type
- **
- ** RETURN VALUES:
- ** None
- *****************************************************************************/
- INT32 DVBApp_SchedulePopup(PopmsgParam_t Popup)
- {
- UINT32 u32CurPopup = PLAYBACK_POPUP_NONE;
- UINT8 bTimeoutFlag = 0;
- switch (Popup.eType)
- {
- case POPMSG_TYPE_CONFIRM:
- u32CurPopup = Popup.extend.stConfirm.eConfirmType;
- break;
- case POPMSG_TYPE_PWD:
- u32CurPopup = Popup.extend.stPwd.ePwdType;
- break;
- case POPMSG_TYPE_PROMPT:
- u32CurPopup = Popup.extend.stPrompt.ePromptType;
- if (Popup.extend.stPrompt.iTimeout > 0)
- {
- if (g_dCurPopup == u32CurPopup)
- {
- SYSAPP_IF_SendGlobalEventWithIndex(SYS_APP_DVB,
- APP_GLOBAL_EVENT_POPMSG_RESET_TIMEOUT,
- Popup.extend.stPrompt.iTimeout);
- return 0;
- }
- bTimeoutFlag = 1;
- }
- break;
- default:
- return 0;
- }
- if (u32CurPopup > PLAYBACK_POPUP_NONE)
- {
- if (bTimeoutFlag == 0)
- {
- g_u32PopupWaitingList |= 1 << (u32CurPopup - PLAYBACK_POPUP_NONE);
- stPopupWaitingList[u32CurPopup-PLAYBACK_POPUP_NONE] = Popup;
- }
- if (u32CurPopup > g_u32OldPopup)
- {
- g_u32OldPopup = u32CurPopup;
- if (APP_MenuMgr_Exist_Main_Menu()
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOURCE)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_SOURCE_CEC)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPG)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNLIST)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVLIST)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_MULTIAUD)
- #ifdef CONFIG_SUPPORT_SUBTITLE
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_SUBTITLEMENU)
- #endif
- #ifdef CONFIG_SUPPORT_TTX
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_TTX)
- #endif
- #ifdef CONFIG_CI_SUPPORT
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CI_MENU)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CI_ENQ)
- #endif
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_INITINSTALL)
- #ifdef SUPPORT_LCN_CONFLICT_MENU
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_LCN_CONFLICT_MENU)
- #endif
- || (APP_GUIOBJ_DVB_ProgInfo_IsExtendMode() == 1)
- #ifdef OSD_GAME_SUPPORT
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_OSDGAME)
- #endif
- #ifdef SUPPORT_CONAX_CAS
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CA_PIN_CONFIM)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CA_MESSAGE_POP)
- #endif
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_CHNMGR)
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_FAVMGR)
- #ifdef CONFIG_SUPPORT_3D_EN
- || SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_3D_INFO)
- #endif
- )
- {
- g_u32OldPopup = PLAYBACK_POPUP_NONE;
- g_dCurPopup = u32CurPopup;
- return 0;
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- APP_MenuMgr_SetMsgPopup(TRUE);
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_POPMSG, (UINT32)&Popup);
- g_dCurPopup = u32CurPopup;
- }
- }
- else
- {
- if ((SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- && (APP_GUIOBJ_DVB_ProgInfo_IsExtendMode() == 1))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO);
- }
- #ifdef OSD_GAME_SUPPORT
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_OSDGAME))
- {
- return 0;
- }
- #endif
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_AWAS)
- ||SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EWS_WASPADA))
- {
- return 0;
- }
- #endif
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- APP_MenuMgr_SetMsgPopup(TRUE);
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, DVB_GUIOBJ_POPMSG, (UINT32)&Popup);
- g_dCurPopup = u32CurPopup;
- }
- return 1;
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_ClosePopup
- **
- ** DESCRIPTION :
- ** Close dvb popmsg
- **
- ** PARAMETERS :
- ** u32ClosePopup - popmsg type
- ** dMessage - send message type when close popmsg
- **
- ** RETURN VALUES:
- ** None
- *****************************************************************************/
- INT32 DVBApp_ClosePopup(UINT32 u32ClosePopup, UINT32 dMessage)
- {
- UINT32 dCheckFlag;
- APP_MenuMgr_SetMsgPopup(FALSE);
- if (u32ClosePopup > PLAYBACK_POPUP_NONE)
- {
- if (u32ClosePopup == g_u32OldPopup)
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- }
- if (dMessage != UI_EVENT_NULL)
- {
- SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_DVB, dMessage, g_dCurPopup);
- }
- g_u32PopupWaitingList &= ~(1 << (u32ClosePopup - PLAYBACK_POPUP_NONE));
- if (u32ClosePopup == g_u32OldPopup)
- {
- g_u32OldPopup = PLAYBACK_POPUP_NONE;
- g_dCurPopup = PLAYBACK_POPUP_NONE;
- for (dCheckFlag = PLAYBACK_POPUP_MAX - 1; dCheckFlag > PLAYBACK_POPUP_NONE; dCheckFlag--)
- {
- if (g_u32PopupWaitingList & (1 << (dCheckFlag - PLAYBACK_POPUP_NONE)))
- {
- DVBApp_SchedulePopup(stPopupWaitingList[dCheckFlag-PLAYBACK_POPUP_NONE]);
- break;
- }
- }
- }
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- if (dMessage != UI_EVENT_NULL)
- {
- SYSAPP_IF_SendCriticalGlobalEventWithIndex(SYS_APP_DVB, dMessage, g_dCurPopup);
- }
- if (g_u32OldPopup != PLAYBACK_POPUP_NONE)
- {
- g_u32OldPopup = PLAYBACK_POPUP_NONE;
- }
- g_dCurPopup = PLAYBACK_POPUP_NONE;
- if(u32ClosePopup == POPMSG_PROMPT_PWD_ERROR) //use g_stPopMsgParam.stParam.dParam1 to indicate that no need to pop scheculed pop.
- {
- return 1;
- }
- for (dCheckFlag = PLAYBACK_POPUP_MAX - 1; dCheckFlag > PLAYBACK_POPUP_NONE; dCheckFlag--)
- {
- if (g_u32PopupWaitingList & (1 << (dCheckFlag - PLAYBACK_POPUP_NONE)))
- {
- DVBApp_SchedulePopup(stPopupWaitingList[dCheckFlag-PLAYBACK_POPUP_NONE]);
- break;
- }
- }
- }
- return 1;
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_ResetPopup_Channel
- **
- ** DESCRIPTION :
- ** Reset all popup state
- **
- ** PARAMETERS :
- ** None
- **
- ** RETURN VALUES:
- ** None
- *****************************************************************************/
- INT32 DVBApp_ResetPopup_Channel(void)
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_CHECK_ANTENNA_INPUT, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_RADIO_CHANNEL, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_TEMPSERVICE, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_TEMPSERVICE_LOAD_MHEG5, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_TEMPSERVICE_SERVICE_NOT_RUNNING, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_NO_SIGNAL, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_SCRAMBLED, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_SERVICE_NOT_AVAILABLE, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_CONFIRM_REMOVE_SRV, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_PROMPT_REMOVE_SRV, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_PWD_LOCKED, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_DATABASE_EMPTY, UI_EVENT_NULL);
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_VIDEO_NOT_SUPPORT, UI_EVENT_NULL);
- #ifdef CONFIG_SUPPORT_MHEG5
- DVBApp_ClosePopup(PLAYBACK_POPUP_CONFIRM_STOP_SUBTITLE_TO_OPEN_MHEG5, UI_EVENT_NULL);
- #endif
- #ifdef CONFIG_SUPPORT_SUBTITLE
- //DVBApp_ClosePopup(POPMSG_PROMPT_NO_SUBTITLE, UI_EVENT_NULL);
- #endif
- return SP_SUCCESS;
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_HideMsgPopupDisplay
- **
- ** DESCRIPTION :
- ** Hide popup display
- **
- ** PARAMETERS :
- ** None
- **
- ** RETURN VALUES:
- ** None
- *****************************************************************************/
- INT32 DVBApp_HideMsgPopupDisplay(void)
- {
- g_u32OldPopup = PLAYBACK_POPUP_NONE;
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_POPMSG))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_POPMSG);
- }
- return 0;
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_IsPopupExist
- **
- ** DESCRIPTION :
- ** Judge one pop up exist
- **
- ** PARAMETERS :
- ** u32TargetPopup - pop up type
- **
- ** RETURN VALUES:
- ** None
- *****************************************************************************/
- UINT8 DVBApp_IsPopupExist(UINT32 u32TargetPopup)
- {
- if (u32TargetPopup == g_u32OldPopup)
- {
- return TRUE;
- }
- else
- {
- if((u32TargetPopup > PLAYBACK_POPUP_NONE)
- && (g_u32PopupWaitingList & (1 << (u32TargetPopup - PLAYBACK_POPUP_NONE))))
- {
- return TRUE;
- }
- else
- {
- return FALSE;
- }
- }
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_RestoreOnStandby
- **
- ** DESCRIPTION :
- ** dvb restore when standby
- **
- ** PARAMETERS :
- ** None
- **
- ** RETURN VALUES:
- ** None
- *****************************************************************************/
- void DVBApp_RestoreOnStandby(void)
- {
- extern Boolean g_bScanRunning;
- #ifdef SUPPORT_LCN
- DBLCNConfInfo_t *pLcnConf = AL_LCN_GetLCNConfChannel();
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- #endif
- if (g_bScanRunning)
- {
- MID_ScanStop();
- #ifdef SUPPORT_LCN
- /* force process LCN if added service by PSI Monitor */
- #ifdef SUPPORT_DVBS_LCN
- if (eNetType == AL_DBTYPE_DVB_T || eNetType == AL_DBTYPE_DVB_C|| eNetType == AL_DBTYPE_DVB_S)
- #else
- if (eNetType == AL_DBTYPE_DVB_T || eNetType == AL_DBTYPE_DVB_C)
- #endif
- {
- LCN_PreJudgeLCN();
- LCN_QueryLCNConflict(pLcnConf);
- dvb_printf(" $$$$$$$$$$$$$$$$$$$ %s %d pLcnConf->ConfCount = %d \n",
- __FUNCTION__, __LINE__, pLcnConf->ConfCount);
- if (pLcnConf->ConfCount > 0)
- {
- LCN_AutoAssignConflictLCN();
- LCN_FreeLCNConflict();
- LCN_FreeTRNDDictionary();
- }
- }
- #endif
- AL_DB_Sync(APP_DVB_Playback_GetCurrentNetType(), al_false);
- }
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_DataApplicationSwitch
- **
- ** DESCRIPTION :
- ** OSD layer 2 switch
- **
- ** PARAMETERS :
- ** u32flag - switch flag
- **
- ** RETURN VALUES:
- ** None
- *****************************************************************************/
- INT32 DVBApp_DataApplicationSwitch(UINT32 u32flag)
- {
- UINT32 u32CurrentState = 0;
- if (_DVBApp_DataApplicationStatus(OSD2CTRLMDL_SUB)&DATA_APP_EXECUTABLE)
- {
- u32CurrentState |= OSD2CTRLMDL_SUB;
- }
- if (APP_Area_SupportDtg())//zhongbaoxing added for mantis 0168195 @20120224
- {
- if (_DVBApp_DataApplicationStatus(OSD2CTRLMDL_MH5)&DATA_APP_EXECUTABLE)
- {
- #ifdef CONFIG_SUPPORT_PVR
- if (MID_RecorderState() == MID_REC_STATUS_STOP)
- #endif
- u32CurrentState |= OSD2CTRLMDL_MH5;
- }
- }
- if (u32flag & OSD2CTRLMDL_DISABLE)
- {
- u32CurrentState = u32flag;
- }
- else
- {
- if (u32flag & OSD2CTRLMDL_FORCE)
- {
- u32CurrentState = (u32CurrentState & u32flag) > 0 ? (u32CurrentState & u32flag) : u32CurrentState;
- }
- else
- {
- u32CurrentState = (u32CurrentState & u32flag);
- }
- }
- #if defined(CONFIG_SUPPORT_MHEG5_HD) && defined(CONFIG_SUPPORT_MHEG5_ICS)
- // The receiver must support the simultaneous presentation of MHEG-5 applications and DVB subtitles (D-Book 16.5.1.1)
- #else
- if ((u32flag & OSD2CTRLMDL_SUB) && (u32CurrentState & OSD2CTRLMDL_MH5) && (u32flag & OSD2CTRLMDL_ENABLE))
- {
- u32CurrentState = ON_DATA_APPLICATION_DECISION(u32CurrentState);
- }
- #endif
- u32CurrentState |= (u32flag & (OSD2CTRLMDL_ENABLE | OSD2CTRLMDL_DISABLE));
- return _DVBApp_DataApplicationGuiObjectRefresh(u32CurrentState);
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_GetScrambleStatus
- **
- ** DESCRIPTION :
- ** clear flag status when change source
- **
- ** PARAMETERS :
- ** None
- **
- ** RETURN VALUES:
- ** None
- *****************************************************************************/
- Boolean DVBApp_GetScrambleStatus(void)
- {
- return g_bScrambleFlag;
- }
- #ifdef CONFIG_SUPPORT_OTA_UPGRADE
- /*****************************************************************************
- ** FUNCTION : DVBApp_GetOTAStatus
- **
- ** DESCRIPTION :
- ** clear flag status when cancel or finish OTA upgrade
- **
- ** PARAMETERS :
- ** None
- **
- ** RETURN VALUES:
- ** None
- *****************************************************************************/
- Boolean DVBApp_GetOTAStatus(void)
- {
- return g_bOTAFlag;
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_SetOTAStatus
- **
- ** DESCRIPTION :
- ** set flag status
- **
- ** PARAMETERS :
- ** None
- **
- ** RETURN VALUES:
- ** None
- *****************************************************************************/
- void DVBApp_SetOTAStatus(Boolean b_flag)
- {
- g_bOTAFlag = b_flag;
- }
- #endif
- /*****************************************************************************
- ** FUNCTION : DVBApp_ClearStatus
- **
- ** DESCRIPTION :
- ** clear flag status when change source
- **
- ** PARAMETERS :
- ** None
- **
- ** RETURN VALUES:
- ** None
- *****************************************************************************/
- void DVBApp_ClearStatus(void)
- {
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- AL_DB_ERecordType_t eServiceType = APP_DVB_Playback_GetCurrServiceType(eNetType);
- bSetUnMuteFlag = FALSE;
- if (eServiceType == AL_RECTYPE_DVBTV)
- {
- g_bMidHasUnmute = FALSE;
- }
- else if (eServiceType == AL_RECTYPE_DVBRADIO)
- {
- g_bMidHasUnmute = TRUE;
- }
- #ifdef SUPPORT_DTV_SHOW_BLUESCREEN
- g_bIsBlueScreen = FALSE;
- #endif
- g_SetPQFlag = FALSE;
- g_bScrambleFlag = PROG_STATUS_SCRAMBLE_UNKNOW;
- g_bAudHasUpdate = FALSE;
- g_bForceProcessEventCbk = TRUE;
- g_bNoSteamData = FALSE;
- g_UnsupportVideo = FALSE;
- g_bTempSerFlag = FALSE;
- #ifdef CONFIG_SUPPORT_OTA_UPGRADE
- DVBApp_SetOTAStatus(FALSE);
- #endif
- #ifdef CONFIG_SUPPORT_EWS
- if (g_NonClearEWS == FALSE)
- {
- DVBApp_ResetEWS();
- }
- #endif
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_NoSignal_TimerReset
- **
- ** DESCRIPTION :
- **
- **
- ** PARAMETERS :
- **
- ** RETURN VALUES:
- **
- *****************************************************************************/
- void DVBApp_NoSignal_TimerReset(void)
- {
- g_u32NoSignalTimer = 0;
- }
- void DVBApp_NoSignal_StandbyTimerReset(void)
- {
- g_u32NoSignalSleepTimer = 0;
- }
- void DVBApp_CheckSrvType(al_uint8 SdtSrvType, al_uint8 SrvType, al_uint8 VideoCount, al_uint8 AudioCount, AL_DB_ERecordType_t *RetSrvType)
- {
- if (RetSrvType == al_null)
- {
- return;
- }
- #if defined (CONFIG_SUPPORT_MHEG5)
- al_int8 CurArea = 0;
- #endif
- #ifdef NIT_SCAN_SUPPORT
- if (MID_ScanGetNitScanFlag() == TRUE)
- {
- VideoCount = 0xff;
- AudioCount = 0xff;
- }
- #endif
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- #if defined (CONFIG_SUPPORT_MHEG5)
- CurArea = g_stChannelData.Country;
- #endif
- *RetSrvType = AL_RECTYPE_DVBTV;
- if (SrvType != 0xff)
- {
- if (SdtSrvType == SERVICE_DIGITAL_RADIO
- ||SdtSrvType == SERVICE_ADVANCED_DIGITAL_RADIO)
- {
- *RetSrvType = AL_RECTYPE_DVBRADIO;
- }
- else if ((SdtSrvType != SERVICE_DIGITAL_TELEVISION
- && SdtSrvType != SERVICE_MPEG2_HD_DIGITAL_TELEVISION
- && SdtSrvType != SERVICE_ADVANCED_SD_DIGITAL_TV
- && SdtSrvType != SERVICE_ADVANCED_HD_DIGITAL_TV)
- && ((SrvType == SERVICE_DIGITAL_RADIO)
- || (SrvType == SERVICE_ADVANCED_DIGITAL_RADIO)))
- {
- *RetSrvType = AL_RECTYPE_DVBRADIO;
- }
- #ifdef CONFIG_DVB_SYSTEM
- #if defined (CONFIG_SUPPORT_MHEG5)
- if ((CurArea == AREA_ENGLAND)||(CurArea == AREA_IRELAND))
- {
- if (SdtSrvType == SERVICE_DATABROADCAST)
- {
- *RetSrvType = AL_RECTYPE_DVBDATA;
- }
- }
- #endif
- if (APP_Area_SupportNorDig())
- {
- if ((SdtSrvType == SERVICE_DATABROADCAST)
- || (SdtSrvType == SERVICE_TELETEXT)
- || (SdtSrvType == SERVICE_DVB_MHP))
- {
- *RetSrvType = AL_RECTYPE_DVBDATA;
- }
- }
- #endif
- }
- else
- {
- if (SdtSrvType == SERVICE_DIGITAL_RADIO
- ||SdtSrvType == SERVICE_ADVANCED_DIGITAL_RADIO)
- {
- *RetSrvType = AL_RECTYPE_DVBRADIO;
- }
-
- #ifdef CONFIG_DVB_SYSTEM
- #if defined (CONFIG_SUPPORT_MHEG5)
- if ((CurArea == AREA_ENGLAND)||(CurArea == AREA_IRELAND))
- {
- if (SdtSrvType == SERVICE_DATABROADCAST)
- {
- *RetSrvType = AL_RECTYPE_DVBDATA;
- }
- }
- #endif
- if (APP_Area_SupportNorDig())
- {
- if ((SdtSrvType == SERVICE_DATABROADCAST)
- || (SdtSrvType == SERVICE_TELETEXT)
- || (SdtSrvType == SERVICE_DVB_MHP))
- {
- *RetSrvType = AL_RECTYPE_DVBDATA;
- }
- }
- #endif
- }
- if ((VideoCount != 0xff) && (AudioCount != 0xff)
- && !APP_Area_SupportAntennaReadyHD() && !APP_Area_SupportRiks())
- {
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- if ((VideoCount == 0) && (AudioCount > 0)
- && *RetSrvType == AL_RECTYPE_DVBTV)
- {
- *RetSrvType = AL_RECTYPE_DVBRADIO;
- }
- //mantis 186965 by changhong, for mh5 service
- if((VideoCount > 0) && (*RetSrvType == AL_RECTYPE_DVBDATA)
- && (g_stChannelData.Country != AREA_NORWAY))
- {
- *RetSrvType = AL_RECTYPE_DVBTV;
- }
- }
- }
- void DVBApp_CheckNotVisibleBySrvType(al_uint8 SdtSrvType, al_uint8 bTempSrv, al_uint8 *bNotVisible, al_uint8 *bNotNeedSave)
- {
- AL_DB_EDBType_t eNetType = AL_DBTYPE_DVB_T;
- if (bNotVisible == al_null || bNotNeedSave ==al_null)
- {
- return;
- }
- eNetType = APP_DVB_Playback_GetCurrentNetType();
- if (eNetType == AL_DBTYPE_DVB_S)
- {
- *bNotVisible = FALSE;
- *bNotNeedSave = FALSE;
- return;
- }
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0,
- sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM)
- #if 0
- if ((al_false == AL_Event_GetEDTGSupport())
- && (al_false == APP_Area_SupportNorDig())
- && (pstServiceInfo->usPcrPid == 0x1FFF))
- {
- pstServiceInfo->ucServiceFlag |= SERVICE_NON_VISIBLE;
- }
- #endif
- if (SdtSrvType != SERVICE_NO_SDT)
- {
- if(SdtSrvType != SERVICE_DIGITAL_TELEVISION
- && SdtSrvType != SERVICE_DIGITAL_RADIO
- && SdtSrvType != SERVICE_ADVANCED_DIGITAL_RADIO
- && SdtSrvType != SERVICE_ADVANCED_SD_DIGITAL_TV
- && SdtSrvType != SERVICE_ADVANCED_HD_DIGITAL_TV
- && SdtSrvType != SERVICE_PAL_CODED_SIGNAL
- && SdtSrvType != SERVICE_MPEG2_HD_DIGITAL_TELEVISION
- && SdtSrvType != SERVICE_HEVC)
- {
- #ifdef CONFIG_DVB_SYSTEM
- if((g_stChannelData.Country == AREA_ENGLAND)
- ||(g_stChannelData.Country == AREA_IRELAND))
- {
- if (SdtSrvType != SERVICE_DATABROADCAST)
- {
- *bNotNeedSave = al_true;
- }
- }
- else if(g_stChannelData.Country == AREA_ITALY)
- {
- if (SdtSrvType != SERVICE_TELETEXT
- && SdtSrvType != SERVICE_NOT_IN_SDT)
- {
- *bNotVisible = TRUE;
- }
- }
- else if (APP_Area_SupportNorDig())
- {
- if ((g_stChannelData.Country == AREA_NORWAY)
- ||((SdtSrvType != SERVICE_DATABROADCAST)
- && (SdtSrvType != SERVICE_TELETEXT)
- && (SdtSrvType != SERVICE_DVB_MHP)))
- {
- *bNotVisible = TRUE;
- }
- }
- else
- #endif
- {
- if ((SdtSrvType != SERVICE_NOT_IN_SDT)
- && bTempSrv)
- {
- *bNotVisible = TRUE;
- }
- else if (g_stChannelData.TV_Connection == APP_RF_TYPE_DVB_C
- && g_stChannelData.Country == AREA_NETHERLANDS
- #ifdef CONFIG_DVB_SYSTEM_DVBC_SUPPORT
- && g_stChannelData.Operator==AL_DVBC_OPERATOR_ZIGGO
- #endif
- )
- {
- *bNotNeedSave = al_true;
- }
- }
- }
- }
- #endif
- /* mantis 0141374 */
- if ((SdtSrvType == SERVICE_NO_SDT)
- && bTempSrv)
- {
- *bNotVisible = TRUE;
- }
- }
- void DVBApp_ResetDvbSpecRule(UINT8 u8Area)
- {
- #ifdef SUPPORT_LCN
- UINT16 LcnRule = 0;
- #endif
- #if defined(SUPPORT_LCN)||defined(SUPPOTR_NOT_ADD_SERVICE)
- AL_DB_EDBType_t eNetType = APP_DVB_Playback_GetCurrentNetType();
- #endif
- #ifdef SUPPORT_LCN
- APP_Area_GetAreaInfoLcnRule(eNetType, u8Area, &LcnRule);
- #endif
- Dvb_SetFreqEnlargeEnable(0);
- #ifdef SUPPORT_LCN
- LCN_SetLCNRule(LcnRule);
- if (eNetType == AL_DBTYPE_DVB_S)
- LCN_SetExtLCNRule(DB_DVB_ASSIGN_NONELCN_FOLLOW_MAX, DB_DVB_ASSIGN_NONELCN_SEPARATE);
- else
- LCN_SetExtLCNRule(DB_DVB_ASSIGN_NONELCN_FOLLOW_SPEC, DB_DVB_ASSIGN_NONELCN_SEPARATE);
- #endif
- AL_Event_SetDTGSupport(al_false);
- #ifdef TIMEZONE_BY_COUNTRY
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_EBOOK, AL_PSIMONITOR_USER_TOTOFFSET, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #else
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_EBOOK, 0, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #endif
- AL_CS_DtvSetSpecialSpec(AL_DB_DVB_PRISPEC_EBOOK);
- MID_ScanSetCountryCode(APP_Area_GetCountryCode(u8Area));
- switch (u8Area)
- {
- #ifdef CONFIG_DVB_SYSTEM
- case AREA_ENGLAND:
- #ifdef TIMEZONE_BY_COUNTRY
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_DTG, AL_PSIMONITOR_USER_TOTOFFSET, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #else
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_DTG, 0, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #endif
- AL_CS_DtvSetSpecialSpec(AL_DB_DVB_PRISPEC_DBOOK);
- AL_Event_SetDTGSupport(al_true);
- break;
- case AREA_ITALY:
- AL_CS_DtvSetSpecialSpec(AL_DB_DVB_PRISPEC_ZBOOK);
- #ifdef TIMEZONE_BY_COUNTRY
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_ZBOOK, AL_PSIMONITOR_USER_TOTOFFSET, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #else
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_ZBOOK, 0, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #endif
- break;
- #ifdef SCAN_FREQ_OFFSET_RANGE_ENLARGE
- case AREA_FRANCE:
- Dvb_SetFreqEnlargeEnable(1);
- break;
- #endif
- case AREA_SPAIN:
- #ifdef SPECIAL_CHNORDER_FOR_SPAIN
- AL_CS_DtvSetSpecialSpec(AL_DB_DVB_PRISPEC_OCA);//Engel OCA need to save all Dupli service
- #endif
- break;
- case AREA_HUNGARY:
- break;
- case AREA_NETHERLANDS:
- break;
- case AREA_FINLAND:
- case AREA_SWEDEN:
- case AREA_DENMARK:
- case AREA_NORWAY:
- //case AREA_GERMANY:
- case AREA_IRELAND:
- #ifdef TIMEZONE_BY_COUNTRY
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_NORDIG, AL_PSIMONITOR_USER_TOTOFFSET, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #else
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_NORDIG, 0, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #endif
- AL_CS_DtvSetSpecialSpec(AL_DB_DVB_PRISPEC_NORDIG);
- if(u8Area == AREA_IRELAND)
- {
- AL_Event_SetDTGSupport(al_true);
- }
- break;
- case AREA_MALAYSIA:
- LCN_SetExtLCNRule( DB_DVB_ASSIGN_NONELCN_FROM_800, DB_DVB_ASSIGN_NONELCN_COMBINE );
- AL_PSI_Monitor_SetupConf( AL_PSIMON_SPECIAL_SPEC_NORDIG, AL_PSIMONITOR_USER_TOTOFFSET, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType );
- AL_CS_DtvSetSpecialSpec( AL_DB_DVB_PRISPEC_NORDIG);
- break;
- #ifdef SUPPORT_GHANA_LCN
- case AREA_GHANA:
- #ifdef SUPPORT_LCN
- LCN_SetExtLCNRule( DB_DVB_ASSIGN_NONELCN_FOLLOW_SPEC, DB_DVB_ASSIGN_NONELCN_COMBINE );
- #endif
- AL_PSI_Monitor_SetupConf( AL_PSIMON_SPECIAL_SPEC_NORDIG, AL_PSIMONITOR_USER_TOTOFFSET, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType );
- AL_CS_DtvSetSpecialSpec( AL_DB_DVB_PRISPEC_NORDIG );
- break;
- #endif
- #ifdef SUPPORT_THAILAND_EVORA
- case AREA_THAILAND:
- LCN_SetExtLCNRule( DB_DVB_ASSIGN_NONELCN_FROM_800, DB_DVB_ASSIGN_NONELCN_SEPARATE );
- AL_PSI_Monitor_SetupConf( AL_PSIMON_SPECIAL_SPEC_NORDIG, AL_PSIMONITOR_USER_TOTOFFSET, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType );
- AL_CS_DtvSetSpecialSpec( AL_DB_DVB_PRISPEC_NORDIG );
- break;
- #endif
-
- case AREA_VIETNAM:
- LCN_SetExtLCNRule(DB_DVB_ASSIGN_NONELCN_FOLLOW_SPEC, DB_DVB_ASSIGN_NONELCN_COMBINE);
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_DEMO_DEFAULT, AL_PSIMONITOR_USER_TOTOFFSET, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- break;
- #endif
- #ifdef CONFIG_AUS_DVB_SYSTEM
- case AREA_SINGAPORE:
- LCN_SetExtLCNRule(DB_DVB_ASSIGN_NONELCN_FROM_800, DB_DVB_ASSIGN_NONELCN_COMBINE);
- AL_PSI_Monitor_SetupConf( AL_PSIMON_SPECIAL_SPEC_NORDIG, AL_PSIMONITOR_USER_TOTOFFSET, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType );
- AL_CS_DtvSetSpecialSpec( AL_DB_DVB_PRISPEC_NORDIG );
- break;
- case AREA_AUSTRALIA:
- case AREA_NEW_ZEALAND:
- case AREA_AUS_OTHER:
- #ifdef TIMEZONE_BY_COUNTRY
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_DEMO_DEFAULT, AL_PSIMONITOR_USER_TOTOFFSET, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #else
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_DEMO_DEFAULT, 0, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #endif
- break;
- #endif
- default:
- #ifdef TIMEZONE_BY_COUNTRY
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_DEMO_DEFAULT, AL_PSIMONITOR_USER_TOTOFFSET, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #else
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_DEMO_DEFAULT, 0, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #endif
- break;
- }
- #ifdef CONFIG_DVB_SYSTEM_DVBC_SUPPORT
- if(eNetType == AL_DBTYPE_DVB_C)
- {
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_CHANNEL, 0, sizeof(APP_SETTING_Channel_t), &(g_stChannelData));
- if (g_stChannelData.Operator == AL_DVBC_OPERATOR_UNITY_MEDIA
- || g_stChannelData.Operator == AL_DVBC_OPERATOR_KBW
- || g_stChannelData.Operator == AL_DVBC_OPERATOR_YOU_SEE)
- {
- #ifdef TIMEZONE_BY_COUNTRY
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_NORDIG, AL_PSIMONITOR_USER_TOTOFFSET, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #else
- AL_PSI_Monitor_SetupConf(AL_PSIMON_SPECIAL_SPEC_NORDIG, 0, DVBApp_CheckSrvType, DVBApp_CheckNotVisibleBySrvType);
- #endif
- AL_CS_DtvSetSpecialSpec(AL_DB_DVB_PRISPEC_NORDIG);
- }
- }
- #endif
- #ifdef SUPPOTR_NOT_ADD_SERVICE
- if(eNetType == AL_DBTYPE_DVB_S)
- {
- AL_PSI_Monitor_NotAddService();
- }
- #endif
- if (u8Area >= MAX_AREA)
- {
- u8Area = 0;
- }
- if (APP_Area_SupportDtg())
- {
- AL_Event_SetDTGSupport(al_true);
- }
- AL_Event_SetCountryCode(APP_Area_GetCountryCode(u8Area));
- APP_GuiMgr_Set_Default_Codepage(u8Area);
- }
- Boolean DVBApp_GetForceProcessEventState(void)
- {
- return g_bForceProcessEventCbk;
- }
- /*****************************************************************************
- ** FUNCTION : DVBApp_fw_callback
- **
- ** DESCRIPTION :
- **
- **
- ** PARAMETERS :
- ** None
- **
- ** RETURN VALUES:
- ** None
- *****************************************************************************/
- INT32 DVBApp_fw_callback(AFW_event_t event, void *param)
- {
- UINT32 message = 0xffffffff;
- UINT32 dParam = 0;
- UINT32 Index = TOTAL_SYS_APP_SIZE;
- if (MAIN_APP_SUCCESS != MAINAPP_GetActiveSystemAppIndex(&Index))
- {
- dvb_printf("[%s: %d][Error] get active system app fail\n", __FUNCTION__, __LINE__);
- return SP_ERR_FAILURE;
- }
- dvb_printf(" Received event: %d from AFW module callback.\n\n",event);
- if (Index == SYS_APP_DVB)
- {
- switch (event)
- {
- #ifdef CONFIG_SUPPORT_INDONESIA_EWS
- case FW_INDONESIA_EWS_UPDATE:
- case FW_INDONESIA_EWS_STOP:
- message = event|PASS_TO_SYSAPP;
- break;
- #endif
- case FW_EPG_NOWNEXT_UPDATE_EVENT:
- if(g_bForceProcessEventCbk)
- {
- dParam = *(UINT32 *)param;
- message = event|PASS_TO_SYSAPP;
- }
- else
- {
- #if 0
- if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPG) &&
- !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPGEXTEND) &&
- !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO) )
- {
- return SP_ERR_FAILURE;
- }
- #endif
- message = event;
- }
- break;
- case FW_EPG_SCHEDULE_UPDATE_EVENT:
- #if 0
- if(!SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPG) &&
- !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_EPGEXTEND) &&
- !SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO) )
- {
- return SP_ERR_FAILURE;
- }
- #endif
- message = event;
- break;
- case FW_EPG_PREF_SERVICE_NAME_UPDATE_EVENT:
- message = FW_MONITOR_UPDATE_SERVICE;
- break;
- case FW_DATASAVING_DVBDB_STORE_START_EVENT:
- case FW_DATASAVING_ATVDB_STORE_START_EVENT:
- case FW_DATASAVING_DVBDB_STORE_END_EVENT:
- case FW_DATASAVING_ATVDB_STORE_END_EVENT:
- message = event;
- break;
- #ifdef CONFIG_SUPPORT_TTX
- case FW_TT_NO_DATA:
- message = event|PASS_TO_SYSAPP;
- break;
- #endif
- #ifdef CONFIG_SUPPORT_PVR
- case FW_SCHEDULER_EVENT:
- {
- dvb_printf("event is coming,");
- message = APP_DVB_GLOBAL_EVENT_PVRSCH |PASS_TO_SYSAPP;
- dvb_printf("handle = 0x%x\n", ((AL_PR_details_t *)param)->rem_details.handle);
- memcpy(&g_stDetails, param, sizeof(AL_PR_details_t));
- dParam = (UINT32)&g_stDetails;
- free(param);
- param = NULL;
- }
- break;
- case FW_SCHEDULER_MSG:
- dvb_printf("first warning: event will come in 10 sec\n");
- dParam = *(UINT32 *)param;
- message = APP_GLOBAL_EVENT_PVR_REMINDER|PASS_TO_SYSAPP;
- break;
- case FW_SCHEDULER_EXPIRE:
- dvb_printf("warning: event duration is over #############\n");
- message = APP_DVB_GLOBAL_EVENT_PVR_EXPIRE|PASS_TO_SYSAPP;
- dParam =*(UINT32 *)param;
- break;
- #endif
- case FW_MONITOR_TUNER_LOCKED:
- case FW_MONITOR_TUNER_UNLOCKED:
- #ifdef CONFIG_TESTAUTOREBOOT
- {
- FW_mode_t FW_Module = FW_NORMAL_VIEW_MODE;
- AL_FW_GetFWModule(&FW_Module);
- /*don't enable autoreboot while searching channel and update*/
- if (FW_Module != FW_CHAN_SRCH_MODE && FW_Module != FW_UPGRADE_MODE)
- {
- if (event == FW_MONITOR_TUNER_UNLOCKED)
- {
- #ifdef CONFIG_AUTOREBOOT_NO_SIGNAL
- ir_autoreboot_enable();
- #else
- ir_autoreboot_disable();
- #endif
- }
- if (event == FW_MONITOR_TUNER_LOCKED)
- {
- #ifdef CONFIG_AUTOREBOOT_NO_SIGNAL
- ir_autoreboot_disable();
- #else
- ir_autoreboot_enable();
- #endif
- }
- }
- }
- #endif
- case FW_MONITOR_STREAM_NO_DATA:
- case FW_MONITOR_STREAM_INVALID_DATA:
- case FW_MONITOR_STREAM_UNSUPPORT_DATA:
- case FW_MONITOR_STREAM_HAS_DATA:
- case FW_MONITOR_SERVICE_VIDEO_AUDIO_SCRAMBLE:
- case FW_MONITOR_SERVICE_ONLY_VIDEO_SCRAMBLE:
- case FW_MONITOR_SERVICE_ONLY_AUDIO_SCRAMBLE:
- case FW_MONITOR_SERVICE_NO_SCRAMBLE:
- case FW_MONITOR_PARENTAL_LOCKED:
- case FW_MONITOR_PARENTAL_UNLOCKED:
- case FW_MONITOR_SERVICE_MOVE:
- case FW_MONITOR_AUDIO_UPDATE:
- case FW_MONITOR_SUBTITLE_UPDATE:
- case FW_MONITOR_TELETEXT_UPDATE:
- case FW_MONITOR_ADD_SERVICE:
- case FW_MONITOR_UPDATE_SERLCN:
- case FW_MONITOR_REMOVE_SERVICE:
- case FW_MONITOR_OTHERTP_SERVICE_FOUND:
- case FW_MONITOR_REPLACE_SERVICE:
- case FW_MONITOR_REPLACE_SIMULCASE_SERVICE:
- case FW_MONITOR_TS_CHANGED:
- case FW_MONITOR_NEW_TSID:
- case FW_MONITOR_TIME_UPDATE:
- case FW_MONITOR_FIND_NEW_TPLIST:
- #ifdef SUPPORT_NETWORK_UPDATE_RESCAN
- case FW_MONITOR_UPDATE_NWK_STATIC:
- #endif
- case FM_DTV_AUDIO_STARTED:
- case FM_DTV_AUDIO_SAMPLE_STOPPED:
- case FM_DTV_AUDIO_STOPPED:
- #ifdef AC_ON_AUTO_GET_TIME
- if ((g_fBackgroundGetTime == TRUE)
- && (event == FW_MONITOR_TIME_UPDATE))
- {
- APP_WAKEUP_SetBootFlag(FALSE);
- MAINAPP_SendGlobalEvent(UI_EVENT_POWER, AL_POWER_STATE_OFF);
- }
- #endif
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- if (event == FW_MONITOR_TIME_UPDATE)
- {
- APP_TimeUpdateSetFlag(TRUE);
- }
- #endif
- message = event|PASS_TO_SYSAPP;
- dParam = *(al_uint32 *)param;
- break;
- case FW_MONITOR_UPDATE_SERVICE:
- message = event;
- break;
- /* remove by qinhe on 2014/02/12 for mantis 18485, unmute need vip notify app */
- /*case FW_MONITOR_PMT_UPDATE:
- message= APP_DVB_GLOBAL_EVENT_SET_UNMUTE|PASS_TO_SYSAPP;
- dParam = *(al_uint32 *)param;
- break;*/
- case FW_MONITOR_SERTYPE_CHANGED:
- message = event|PASS_TO_SYSAPP;
- dParam = *(al_uint32 *)param;
- break;
- #ifdef CONFIG_SUPPORT_PVR
- case FW_MONITOR_REMINDER_EXPIRE:
- {
- al_uint32 TimeInSec = 0;
- AL_Time_t time;
- memset(&time, 0, sizeof(time));
- AL_Time_MjdToYmd(AL_Time_GetRawMjd(),&time.Year, &time.Month, &time.Day);
- AL_Time_GetRawTime(&time.Hour, &time.Min, &time.Sec);
- AL_Time_DateToSecs(&time, &TimeInSec);
- tv_SetBaseTimetoSystem(TimeInSec);
- }
- #ifdef AC_ON_AUTO_GET_TIME
- if (g_fBackgroundGetTime == TRUE)
- {
- APP_WAKEUP_SetBootFlag(FALSE);
- MAINAPP_SendGlobalEvent(UI_EVENT_POWER, AL_POWER_STATE_OFF);
- }
- #endif
- #ifdef SUPPORT_WAKEUP_TIMER_IN_STANDBY
- APP_TimeUpdateSetFlag(TRUE);
- #endif
- message = APP_DVB_GLOBAL_EVENT_REMINDER_EXPIRE;
- break;
- case FW_MONITOR_REMINDER_TIME_CHANGE:
- {
- al_uint32 TimeInSec = 0;
- AL_Time_t time;
- memset(&time, 0, sizeof(time));
- AL_Time_MjdToYmd(AL_Time_GetRawMjd(),&time.Year, &time.Month, &time.Day);
- AL_Time_GetRawTime(&time.Hour, &time.Min, &time.Sec);
- AL_Time_DateToSecs(&time, &TimeInSec);
- tv_SetBaseTimetoSystem(TimeInSec);
- }
- #ifdef AC_ON_AUTO_GET_TIME
- if (g_fBackgroundGetTime == TRUE)
- {
- APP_WAKEUP_SetBootFlag(FALSE);
- MAINAPP_SendGlobalEvent(UI_EVENT_POWER, AL_POWER_STATE_OFF);
- }
- #endif
- if (param == NULL)
- {
- UMFDBG(0,"[error],%s %d\n",__FUNCTION__,__LINE__);
- }
- else
- {
- dParam =*(al_uint32 *) param;
- }
-
- message = APP_DVB_GLOBAL_EVENT_REMINDER_TIME_CHANGE | PASS_TO_SYSAPP;
- break;
- #endif
- case FW_VIP_STATUS:
- message = FW_VIP_STATUS | PASS_TO_SYSAPP;
- break;
- case FW_SIGNAL_PRESENT:
- case FW_VIP_FINISH:
- #ifdef CONFIG_CI_SUPPORT
- if (g_Audio_Scramble_Counter!=0)
- {
- g_VIP_FINISH_Flg = TRUE;
- g_Audio_Scramble_Counter = 0;
- }
- else
- {
- if (g_VIP_FINISH_Flg==TRUE)
- {
- g_VIP_FINISH_Flg = FALSE;
- }
- }
- #endif
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- if(APP_Factory_GetAutoTestOnOff() == TRUE)
- {
- APP_Source_Type_t eSourType;
- APP_GUIOBJ_Source_GetCurrSource(&eSourType);
- APP_GOBJ_Source_Set_SourceCheck(eSourType);
- }
- #endif
- if (APP_GUIOBJ_DVB_Playback_GetZappingState() == FALSE)
- {
- #ifdef CONFIG_SUPPORT_PVR
- al_uint8 bSignalState = al_false;
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if((MID_TSPLParser_GetThreadState() == TRUE)&&(!bSignalState))
- {
- //timeshift, no signal
- }
- else
- #endif
- {
- message = APP_DVB_GLOBAL_EVENT_SET_UNMUTE|PASS_TO_SYSAPP;
- }
- }
- #ifdef CONFIG_QSD
- // To echo message with DTV has signal for chip test using.
- con_dbg_echo('G', 'O');
- con_dbg_echo('O', 'D');
- #endif
- break;
- #ifdef CONFIG_SCART_SUPPORT
- case FW_SCART_INPUTSTATUS_CHANGE:
- message = APP_DVB_GLOBAL_EVENT_SCART_INPUTSTATUS_CHANGE|PASS_TO_SYSAPP;
- dParam = *(al_uint32 *)param;
- break;
- #endif
- #ifdef SUPPORT_CEC_TV
- case FW_HDMI_PORTSTATUS:
- dParam = *(UINT32 *)param;
- message = APP_DVB_GLOBAL_EVENT_HDMIPORT_STATUS|PASS_TO_SYSAPP;
- break;
- #endif
- #if 0
- case FW_DB_LOAD_DEFAULT:
- message = event|PASS_TO_SYSAPP;
- dParam = *(al_uint32 *)param;
- break;
- #endif
- case FW_AUDIO_HEADPHONE_PLUG_IN:
- message = APP_GLOBAL_EVENT_HEADPHONE_PLUG_IN|PASS_TO_SYSAPP;
- break;
- case FW_AUDIO_HEADPHONE_PLUG_OUT:
- message = APP_GLOBAL_EVENT_HEADPHONE_PLUG_OUT|PASS_TO_SYSAPP;
- break;
- #ifdef CONFIG_QSD
- case FW_QSD_Media_Play:
- dParam = *(UINT32 *)param;
- message = APP_GLOBAL_EVENT_QSD_MEDIA_PLAY|PASS_TO_SYSAPP;
- break;
- case FW_QSD_Source_Set:
- dParam = *(UINT32 *)param;
- message = APP_GLOBAL_EVENT_QSD_SET_SOURCE|PASS_TO_SYSAPP;
- break;
- case FW_QSD_DTV_SetCH:
- dParam = (UINT32)APP_Database_GetHdlByIdx(*(UINT32 *)param);
- message = APP_DVB_GLOBAL_EVENT_ZAPPING|PASS_TO_SYSAPP;
- break;
- #endif
- #ifdef CONFIG_SUPPORT_EWS
- case FW_EWS_REC_ANCM:
- case FW_EWS_FIND_AUD:
- dParam =*(al_uint32 *) param;
- message = FW_EWS_FIND_AUD|PASS_TO_SYSAPP;
- break;
- case FW_EWS_ACTIVE:
- case FW_EWS_INACTIVE:
- case FW_EWS_NON_ANCM:
- message = event|PASS_TO_SYSAPP;
- break;
- #endif
- case FW_USB_PLUGIN:
- break;
- case FW_USB_PLUGOUT:
- break;
- #ifdef CONFIG_HDMI_SUPPORT_MHL
- case FW_HDMI_MHL_CONNECTED:
- dParam = *(UINT32 *)param;
- if(dParam == 1)
- {
- message = DMN_EVENT_MHL_CHANGE_SOURCE|PASS_TO_SYSAPP;
- }
- break;
- #endif
- #ifdef CONFIG_SUPPORT_AUDIO_CODEC_OVERLAY
- case FW_AUDIO_LOADCODEC_OK:
- case FW_AUDIO_LOADCODEC_ERROR:
- message = event|PASS_TO_SYSAPP;
- dParam = *(UINT32 *)param;
- break;
- case FW_AUDIO_LOADCODEC_TYPE:
- {
- UINT16 new_condec = *(UINT32 *)param;
- TVFE_Audio_LOAD_CODEC_t stConfig;
- memset(&stConfig, 0, sizeof(TVFE_Audio_LOAD_CODEC_t));
- stConfig.flag = TVFE_AUDIO_CODEC_FLAG_SET;
- stConfig.new_type = new_condec;
- TVFE_Audio_Load_Codec(&stConfig);
- printf("\n\n[%s:%d] new_condec =========== %d\n\n\n",__FUNCTION__,__LINE__,new_condec);
- }
- break;
- #endif
- default:
- message = 0xffffffff;
- break;
- }
- }
- else
- {
- switch (event)
- {
- default:
- message = 0xffffffff;
- break;
- }
- }
- if (message != 0xffffffff)
- {
- SYSAPP_IF_SendCriticalGlobalEventWithIndex(Index, message, dParam);
- return SP_SUCCESS;
- }
- else
- {
- return SP_ERR_FAILURE;
- }
- }
- void DVBApp_VolumeKeyHandler(UINT32 dMessage, UINT8 IsCECKey)
- {
- UINT8 u8Mute=0;
- al_uint8 bSignalState = al_false;
- if(IsCECKey == TRUE)
- {
- #ifdef SUPPORT_CEC_TV
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- if (( APP_SWITCH_ON == g_stFeatureData.Enable_HDMILink)
- #ifdef SUPPORT_AMPLIFIER_CONTROL
- &&(APP_SWITCH_ON == g_stFeatureData.AmplifierControl)
- #endif
- &&(APP_HDMILINK_AMPLIFIER == g_stFeatureData.SpeakerPreference) && APP_GUIOBJ_Source_GetAmplifierPort())
- {
- if (CECTV_GetCECEnable()==CECTV_ENABLE && CECTV_GetHDMISystemAudioMode() && APP_Check_CEC_DEVICE_Status())
- {
- if(APP_Get_HDMICEC_AMP_Mute_Status() == TRUE)
- {
- //APP_Set_HDMICEC_AMP_Mute_Status(FALSE);
- //APP_GUIOBJ_Mute_MuteKeyHandler();
- //CECTV_SendCmd(CECTV_SINGLE_ACT_CMD_KEYPRESS, CECTV_KEY_MUTE<<8|0x05);//Mute Function
- //SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, APP_GUIOBJ_MUTE,APP_INTRA_EVENT_HIDE_MUTE, 0);
- }
- }
- }
- #endif
- }
- else
- {
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO, 0,
- sizeof(APP_SETTING_UserInfo_t), &(g_stUserInfoData));
- u8Mute = g_stUserInfoData.Mute;
- if (u8Mute == TRUE)
- {
- if(dMessage == UI_EVENT_VOL_UP || IsCECKey == TRUE)
- {
- AL_DVB_Monitor_GetState(AL_DVB_MONITOR_STATE_SIGNAL, &bSignalState);
- if ((bSignalState == AL_DVB_MONITOR_VALUE_TRUE)
- #ifdef CONFIG_SUPPORT_PVR
- || (MID_TSPLParser_GetThreadState())
- #endif
- )
- {
- APP_Audio_SetMute(FALSE, TRUE, APP_MUTE_MODE_SIGNAL_DETECT, APP_SOURCE_DTV);
- }
- else
- {
- APP_Audio_SetMute(FALSE, TRUE, APP_MUTE_MODE_NO_SIGNALE, APP_SOURCE_DTV);
- }
- g_stUserInfoData.Mute = FALSE;
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO,
- ITEM_OFFSET(APP_SETTING_UserInfo_t, Mute),
- sizeof(g_stUserInfoData.Mute), &(g_stUserInfoData.Mute));
- #ifdef SUPPORT_STORE_MUTE_FLAG
- AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO,
- ITEM_OFFSET(APP_SETTING_UserInfo_t, Mute),
- sizeof(g_stUserInfoData.Mute));
- #endif
- SYSAPP_GOBJ_SendMsgToSingleGUIObject(SYS_APP_DVB, APP_GUIOBJ_MUTE,APP_INTRA_EVENT_HIDE_MUTE, 0);
- }
- }
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_NO_SIGNAL))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_NO_SIGNAL, UI_EVENT_NULL);
- }
- if (DVBApp_IsPopupExist(PLAYBACK_POPUP_MSG_RADIO_CHANNEL))
- {
- DVBApp_ClosePopup(PLAYBACK_POPUP_MSG_RADIO_CHANNEL, UI_EVENT_NULL);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_BANNER))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_BANNER);
- }
- #ifdef CONFIG_SUPPORT_PVR
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVRREC_INFO);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PVR_REC);
- }
- #endif
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, DVB_GUIOBJ_PROGINFO);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME);
- }
- if(IsCECKey == TRUE
- #ifdef SUPPORT_CEC_TV
- && CECTV_GetHDMISystemAudioMode() && APP_Check_CEC_DEVICE_Status()
- #endif
- )
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_ADJUST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_ADJUST);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME);
- }
- else
- {
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME, 0);
- }
- }
- else
- {
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_AMPLIFIERVOLUME);
- }
- if (SYSAPP_GOBJ_GUIObjectExist(SYS_APP_DVB, APP_GUIOBJ_ADJUST))
- {
- SYSAPP_GOBJ_DestroyGUIObject(SYS_APP_DVB, APP_GUIOBJ_ADJUST);
- }
- else
- {
- //Below is CV's spec,pressing Volume key should realize function instead of showing adjust bar only.
- UINT8 u8VolumeIdx = g_stVariationalData.Volume;
- if (dMessage == UI_EVENT_VOL_UP)
- {
- g_stVariationalData.Volume = u8VolumeIdx >= ADJUST_MAX_VALUE ? ADJUST_MAX_VALUE : ++u8VolumeIdx;
- }
- else if (dMessage == UI_EVENT_VOL_DN)
- {
- g_stVariationalData.Volume = u8VolumeIdx <= ADJUST_MIN_VALUE ? ADJUST_MIN_VALUE : --u8VolumeIdx;
- }
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTHOTEL, 0,
- sizeof(APP_SETTING_FactoryHotel_t), &(g_stFactoryHotelData));
- if ((g_stFactoryHotelData.MaxVolume < g_stVariationalData.Volume)
- &&(g_stFactoryHotelData.HotelModeOnOff == 1))
- {
- g_stVariationalData.Volume = g_stFactoryHotelData.MaxVolume;
- }
- APP_Audio_SetVolume((UINT32)g_stVariationalData.Volume);
- AL_Setting_Write(APP_Data_UserSetting_Handle(), SYS_SET_ID_VARIATIONAL,
- ITEM_OFFSET(APP_SETTING_Variational_t, Volume),
- sizeof(g_stVariationalData.Volume), &(g_stVariationalData.Volume));
- //AL_Setting_Store(APP_Data_UserSetting_Handle(), SYS_SET_ID_USERINFO,
- //ITEM_OFFSET(APP_SETTING_UserInfo_t, Volume), sizeof(g_stUserInfoData.Volume));
- SYSAPP_GOBJ_CreateGUIObject_WithPara(SYS_APP_DVB, APP_GUIOBJ_ADJUST, ADJUST_VOLUME);
- }
- }
- }
- Boolean DVBApp_GetUnstableState(void)
- {
- return g_bUnstable;
- }
- void DVBApp_SetUnstableState(Boolean bstate)
- {
- g_bUnstable = bstate;
- }
- Boolean DVBApp_GetFindNewTSIDFlag(void)
- {
- return bFindNewTSID;
- }
- Boolean DVBApp_ClearFindNewTSIDFlag(void)
- {
- bFindNewTSID = FALSE;
- return 0;
- }
- #ifdef CONFIG_SUPPORT_EWS
- al_uint8 DVBApp_GetEWSMode(void)
- {
- return g_EWSMode;
- }
- void DVBApp_ResetEWS(void)
- {
- dvb_printf("\n[%s] is called!!!!!!!\n\n", __FUNCTION__);
- DMIOC_SET_EWS_PARAM stEwsParam;
- memset(&stEwsParam, 0, sizeof(DMIOC_SET_EWS_PARAM));
- if (g_EWSMode == TRUE)
- {
- stEwsParam.bActive = FALSE;
- ioctl(dtvdev, DTV_IOCTL_Set_EWS_Data , &stEwsParam);
- }
- g_PrevProgHandle = AL_DB_INVALIDHDL;
- g_EWSMode = FALSE;
- memset(&g_PrevAudioPid, 0, sizeof(DBPIDInfo_t));
- g_PrevAudioPid.usDataPID = DB_DVB_INVALID_PID;
- memset(&g_MonAudioPid, 0, sizeof(DBPIDInfo_t));
- g_MonAudioPid.usDataPID = DB_DVB_INVALID_PID;
- AL_EWS_Monitor_ResetData();
- }
- #endif
- #ifdef CONFIG_CIPLUS_SUPPORT
- void DVBApp_NotExistSrv(void)
- {
- PopmsgParam_t stPopup;
- memset(&stPopup,0x0,sizeof(PopmsgParam_t));
- stPopup.eType = POPMSG_TYPE_PROMPT;
- stPopup.u16Exitkeys = POPMSG_EXIT_KEY_NONE;
- stPopup.u16ReturnType = GUI_OBJECT_EVENT_BYPASS;
- stPopup.extend.stPrompt.ePromptType = POPMSG_PROMP_NOT_EXIST_SRV;
- stPopup.extend.stPrompt.iTimeout = 2;
- DVBApp_SchedulePopup(stPopup);
- return;
- }
- void DVBApp_ResetDupliChkFunc(BOOLEAN bNoCheckServ)
- {
- #if (defined(CONFIG_DVB_SYSTEM_DVBS_SUPPORT)||defined(CONFIG_DVB_SYSTEM_DVBT_SUPPORT)\
- ||defined(CONFIG_DVB_SYSTEM_DVBC_SUPPORT))
- AL_DB_RecDupliChkFunc_t stMatchFuc;
- if( bNoCheckServ )
- stMatchFuc.pServMatch = NULL;
- else
- stMatchFuc.pServMatch = (AL_DB_RecordMatchFunc)_DVBApp_SerMatch;
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBT_SUPPORT
- stMatchFuc.pNetMatch = (AL_DB_RecordMatchFunc)_DVBApp_NetworkMatch_T;
- stMatchFuc.pMulitplexMatch = (AL_DB_RecordMatchFunc)_DVBApp_TPMatch_T;
- AL_DB_RegisterDupliChkFunc(AL_DBTYPE_DVB_T, &stMatchFuc);
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBC_SUPPORT
- stMatchFuc.pNetMatch = (AL_DB_RecordMatchFunc)_DVBApp_NetworkMatch_C;
- stMatchFuc.pMulitplexMatch = (AL_DB_RecordMatchFunc)_DVBApp_TPMatch_C;
- AL_DB_RegisterDupliChkFunc(AL_DBTYPE_DVB_C, &stMatchFuc);
- #endif
- #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
- stMatchFuc.pNetMatch = (AL_DB_RecordMatchFunc)_DVBApp_NetworkMatch_S;
- stMatchFuc.pMulitplexMatch = (AL_DB_RecordMatchFunc)_DVBApp_TPMatch_S;
- AL_DB_RegisterDupliChkFunc(AL_DBTYPE_DVB_S, &stMatchFuc);
- #endif
- }
- #endif
- Boolean DVBApp_CheckHasVideo(void)
- {
- AL_RecHandle_t hTempHdl = AL_DB_INVALIDHDL;
- MID_PlaybackGetCurProgHandle(al_null, &hTempHdl);
- DBPIDInfo_t stVideoPid;
- memset(&stVideoPid,0xff,sizeof(DBPIDInfo_t));
- AL_DB_QueryDetailFieldByName(hTempHdl, (al_uint8 *)"stVideoPid", (al_void *)&stVideoPid);
- if ((stVideoPid.usDataPID&0x1fff) == 0x1fff)
- {
- return FALSE;
- }
- else
- {
- return TRUE;
- }
- }
|