From 58d1827f36965d115338c8d2321868920ae1d30d Mon Sep 17 00:00:00 2001
From: Dario Casalinuovo <b.vitruvio@gmail.com>
Date: Sat, 28 Mar 2015 16:12:34 +0100
Subject: [PATCH 06/13] Make launch_media_server() to handle the case when the
media_server is running but the media_addon_server is not.
---
src/kits/media/MediaDefs.cpp | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/kits/media/MediaDefs.cpp b/src/kits/media/MediaDefs.cpp
index a60facb..4298a2a 100644
a
|
b
|
|
13 | 13 | |
14 | 14 | #include <MediaDefs.h> |
15 | 15 | #include <MediaNode.h> |
| 16 | #include <MediaRoster.h> |
16 | 17 | #include <Roster.h> |
17 | 18 | |
18 | 19 | #include "debug.h" |
… |
… |
shutdown_media_server(bigtime_t timeout,
|
1287 | 1288 | status_t |
1288 | 1289 | launch_media_server(uint32 flags) |
1289 | 1290 | { |
1290 | | status_t err; |
1291 | | |
1292 | | if (be_roster->IsRunning(B_MEDIA_SERVER_SIGNATURE)) |
| 1291 | if (BMediaRoster::IsRunning()) |
1293 | 1292 | return B_ALREADY_RUNNING; |
1294 | 1293 | |
| 1294 | // The media_server crashed |
1295 | 1295 | if (be_roster->IsRunning(B_MEDIA_ADDON_SERVER_SIGNATURE)) { |
1296 | 1296 | kill_team(be_roster->TeamFor(B_MEDIA_ADDON_SERVER_SIGNATURE)); |
1297 | 1297 | snooze(1000000); |
1298 | 1298 | } |
1299 | 1299 | |
1300 | | err = be_roster->Launch(B_MEDIA_SERVER_SIGNATURE); |
| 1300 | // The media_addon_server crashed |
| 1301 | if (be_roster->IsRunning(B_MEDIA_SERVER_SIGNATURE)) { |
| 1302 | kill_team(be_roster->TeamFor(B_MEDIA_SERVER_SIGNATURE)); |
| 1303 | snooze(1000000); |
| 1304 | } |
| 1305 | |
| 1306 | status_t err = be_roster->Launch(B_MEDIA_SERVER_SIGNATURE); |
1301 | 1307 | if (err != B_OK) |
1302 | 1308 | return err; |
1303 | 1309 | |