Middleware versus Native OS Support: Architectural Considerations for Supporting Multimedia Applications