In this paper, we present an architecture for a distributed home entertainment system that overcomes these limitations. We especially examine the most important tasks, namely watching and recording TV. The overall system consists of various devices and allows for multiple users to perform different tasks in parallel. Our architecture supports multi-room applications with a single media stream being presented synchronously on different distributed devices. In addition, applications can be handed over to nearby systems. Finally, we present an algorithm that dynamically determines the optimal media routing for such multi-user scenarios.