+ All Categories
Home > Documents > Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Date post: 24-Dec-2015
Category:
Upload: marcus-robbins
View: 215 times
Download: 0 times
Share this document with a friend
Popular Tags:
27
Transcript
Page 1: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.
Page 2: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Inside Windows Media Center

Jonathan HutchinsonLead Program ManagerMicrosoft Corporation

Tobi ZielinskiProgram ManagerMicrosoft Corporation

Page 3: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Agenda

ArchitectureTV First RunLive TVRecorded TVTunersVideo Playback – Non TVDetailed Stack

Page 4: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Architecture

Page 5: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Media Center Process Map

ehVidehVidbatch

scheduler

thumbnailermcGLIDHostmcGLIDHost

db merge

ehRecehRecPVR

scheduler

conflicts

recycler

Recorder

Manager

ehMSASehMSAS

state agg

ehShell

user experience

TV

players

music

…ehExtHost

hosting

3rd party app

iTV VM

ehTray

user notification

Ba

ckg r

ou

nd

p roc

ess

es

Pre

-use

r se

ssio

n p

roce

sse

s

OS task scheduler

ehPrivJobehPrivJob

ff priv task

config

install

mcUpdatemcUpdate

db merge

download

updates

db gc

ehRecvrehRecvr

recorders

capture

scanning

wmPlayer

OCX

ehSchedeventing

Inte

rnet

s

TV ListingsBroadband

ListingsDisc

MetadataSports

DRM Support Updates

Wi n

do

ws MCMgr

ext session mgmt

OS task scheduler

Page 6: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

TV First Run

Page 7: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

TV First Run Summary

Detects installed tunersTakes user input to determine geographic settingsWill automatically configure tunersAlso allows for manual configurationInitializes EPG settingsInitializes DRM on tuner (optional)

Page 8: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

TV First Run Process Map

ehVidehVidbatch

scheduler

thumbnailermcGLIDHostmcGLIDHost

db merge

ehRecehRecPVR

scheduler

conflicts

recycler

Recorder

Manager

ehMSASehMSAS

state agg

ehShell

user experience

TV

players

music

…ehExtHost

hosting

3rd party app

iTV VM

ehTray

user notification

Ba

ckg r

ou

nd

p roc

ess

es

Pre

-use

r se

ssio

n p

roce

sse

s

OS task scheduler

ehPrivJobehPrivJob

ff priv task

config

install

mcUpdatemcUpdate

db merge

download

updates

db gc

ehRecvrehRecvr

recorders

capture

scanning

wmPlayer

OCX

ehSchedeventing

Inte

rnet

s

TV ListingsBroadband

ListingsDisc

MetadataSports DRM

Support Updates

Wi n

do

ws MCMgr

ext session mgmt

OS task scheduler

Page 9: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Live TV

Page 10: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Live TV Summary

Uses configured tuners onlyCaptures output of tuner, processes it and stores it to a temp file on diskPlayback then streams from temp file

allows for pause, rewind and other PVR functionality during Live TV

Page 11: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Media Center Live TV Pipeline

ehShellUser Experience / Media Player

ehRecvrCapture / Record

wtv

SB

E

SB

E

PB

DA

DXTuner

Shared memory

ehShellUser Experience / Media Player

SB

E

rtp

rdp

ui

Background OS Service Foreground interactive app

Extender

Or..

Playback may be directed to the local console and / or streamed to an extender

Page 12: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Live TV Process Map

ehVidehVidbatch

scheduler

thumbnailermcGLIDHostmcGLIDHost

db merge

ehRecehRecPVR

scheduler

conflicts

recycler

Recorder

Manager

ehMSASehMSAS

state agg

ehShell

user experience

TV

players

music

…ehExtHost

hosting

3rd party app

iTV VM

ehTray

user notification

Ba

ckg r

ou

nd

p roc

ess

es

Pre

-use

r se

ssio

n p

roce

sse

s

OS task scheduler

ehPrivJobehPrivJob

ff priv task

config

install

mcUpdatemcUpdate

db merge

download

updates

db gc

ehRecvrehRecvr

recorders

capture

scanning

wmPlayer

OCX

ehSchedeventing

Inte

rnet

s

TV ListingsBroadband

ListingsDisc

MetadataSports

DRM Support Updates

Wi n

do

ws MCMgr

ext session mgmt

OS task scheduler

Page 13: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Capture Pipeline

dbmerge

ptfilter

sbe

wtv

np

dem

ux

si

easitv

pbda

ksdriver

guide[eit, …]

video analysis

V[1..n]

A[1..n]

cc analysis

tif

tblsects

tbl sectstrigger et

ip

et

et

etCC[1..n]

subtitles / isdb[1..3] et

mcglidhost

recorder

proxy

Page 14: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Local TV Playback Pipeline

evr splash

directx

graphics driver

dxva

codec ar

hosting

12

BB

...

gpu pipeline

graphics hardware

decode videoprocess

composite& present

local tv player

vm host

Shell UX

itv vm

itv proxydtfilter

dtfilter

dtfilter

sbe

xbar

dtfilterwtv

codec

codec cc/tt overlay

itv overlay

mc ui elem

ents

V

cc/tt

itv

A

Page 15: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Recorded TV

Page 16: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Recorded TV Summary

Uses configured tuners onlyCaptures output of tuner, processes it and stores it to a permanent file on diskFile is processed after recording is complete, thumbnails are generated and metadata is populated into the file attributesProvides for one time and recurring recordings

Page 17: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Recorded TV Process Map

ehVidehVidbatch

scheduler

thumbnailermcGLIDHostmcGLIDHost

db merge

ehRecehRecPVR

scheduler

conflicts

recycler

Recorder

Manager

ehMSASehMSAS

state agg

ehShell

user experience

TV

players

music

…ehExtHost

hosting

3rd party app

iTV VM

ehTray

user notification

Ba

ckg r

ou

nd

p roc

ess

es

Pre

-use

r se

ssio

n p

roce

sse

s

OS task scheduler

ehPrivJobehPrivJob

ff priv task

config

install

mcUpdatemcUpdate

db merge

download

updates

db gc

ehRecvrehRecvr

recorders

capture

scanning

wmPlayer

OCX

ehSchedeventing

Inte

rnet

s

TV ListingsBroadband

ListingsDisc

MetadataSports

DRM Support Updates

Wi n

do

ws MCMgr

ext session mgmt

OS task scheduler

Page 18: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Tuners

Additional Detail Not Covered Elsewhere

Page 19: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Traditional and Hybrid TunersN Tuners Hybrid Tuner

ehRecvr

capture pipeline

Tuner

wtvwtv

capture pipeline

Tuner

...

capture pipeline

Tuner

...

ehRecvr

capture pipelineTuner

run

capture pipeline

wtv

stop

Win7 introduces support for hybrid tuners

Notice that there are two capture pipelines built for a hybrid tuner

Only one pipeline will be active at a time

Page 20: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

PBDA stackTwo options

Soap / RTP over IP to tunerWindows PBDA Mini Driver

Capture (Recorder)

PBDA

UPNP, Soap, ...

HTTP / RTP

PBDA Mini Driver

Kernel Streaming

Recorder Manager

Recording Scheduler

IP

KS Proxy

BDA ProxyPBDA class

Page 21: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Video Playback – non TV

Page 22: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Non TV Playback Summary

Non TV playback for most files go through an extensibility host, in a separate processThe extensibility host keeps third party applications from crashing Windows Media CenterAny third party can write an extensibility applicationMost non TV playback goes through Windows Media Player OCX by default

Page 23: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Non TV Playback Process Map

ehVidehVidbatch

scheduler

thumbnailermcGLIDHostmcGLIDHost

db merge

ehRecehRecPVR

scheduler

conflicts

recycler

Recorder

Manager

ehMSASehMSAS

state agg

ehShell

user experience

TV

players

music

…ehExtHost

hosting

3rd party app

iTV VM

ehTray

user notification

Ba

ckg r

ou

nd

p roc

ess

es

Pre

-use

r se

ssio

n p

roce

sse

s

OS task scheduler

ehPrivJobehPrivJob

ff priv task

config

install

mcUpdatemcUpdate

db merge

download

updates

db gc

ehRecvrehRecvr

recorders

capture

scanning

wmPlayer

OCX

ehSchedeventing

Inte

rnet

s

TV ListingsBroadband

ListingsDisc

MetadataSports

DRM Support Updates

Wi n

do

ws MCMgr

ext session mgmt

OS task scheduler

Page 24: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Detailed Stack

How Windows Media Center is implemented in more detail

Page 25: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Media Center by stack

mc database platform

sql lite

guide o pvr o … o

mcupdate

db.eventingmsas

recorder managerrecorder

execution

conflict recycler

gc

glid hostdb merge

scanningbatch

thumbnailcache pipeline

capture pipeline

pvr schedlive

traymsg

ehprivjobinstall config

dshow drm

ks proxypbda minidriver ir driver

hidmcmgr

ehtray

session transport

ocxplayer

tv

music ...tv

media navparserlayout

view item

render opsremoting

animation

composit

present

streaminterop

ehShell / ucp / navigation

model item

cur media

graphics

cur pageexthost

3rd mc app

pipelineitv

pvr ...

netsink

general use by higher layers

general use of subsystems

itv

cc

KU dx

general use by higher layers

port

Page 26: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

Call To Action

Adopt digital TV formatsEmbrace PBDA for your Windows Media Center digital TV solutions

Get the PBDA specificationLicense the Windows Media Digital Rights Management porting kitDevelop your PBDA capable tuners

Engage now to be ready for Windows 7

Page 27: Jonathan Hutchinson Lead Program Manager Microsoft Corporation.

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Recommended