Benchmark performance on Bassi Jonathan Carter User Services Group Lead jtcarter@lbl
Jonathan Hutchinson Lead Program Manager Microsoft Corporation.
-
Upload
marcus-robbins -
Category
Documents
-
view
225 -
download
0
Transcript of Jonathan Hutchinson Lead Program Manager Microsoft Corporation.
Inside Windows Media Center
Jonathan HutchinsonLead Program ManagerMicrosoft Corporation
Tobi ZielinskiProgram ManagerMicrosoft Corporation
Agenda
ArchitectureTV First RunLive TVRecorded TVTunersVideo Playback – Non TVDetailed Stack
Architecture
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
TV First Run
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)
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
Live TV
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
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
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
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
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
Recorded TV
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
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
Tuners
Additional Detail Not Covered Elsewhere
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
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
Video Playback – non TV
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
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
Detailed Stack
How Windows Media Center is implemented in more detail
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
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
© 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.