~ubuntu-branches/debian/sid/me-tv/sid

« back to all changes in this revision

Viewing changes to src/scheduled_recording_manager.cc

  • Committer: Bazaar Package Importer
  • Author(s): Scott Evans
  • Date: 2011-01-23 09:52:04 UTC
  • mfrom: (1.1.18 upstream)
  • Revision ID: james.westby@ubuntu.com-20110123095204-12wj38ro9w5v4t42
Tags: 1.3.6-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright (C) 2010 Michael Lamothe
 
2
 * Copyright (C) 2011 Michael Lamothe
3
3
 *
4
4
 * This file is part of Me TV
5
5
 *
187
187
                Channel& current_channel = channel_manager.get_channel_by_id(current.channel_id);
188
188
 
189
189
                if (
190
 
                        current.scheduled_recording_id != scheduled_recording.scheduled_recording_id &&
191
190
                        channel.transponder != current_channel.transponder &&
192
191
                        scheduled_recording.overlaps(current) &&
193
192
                        device == current.device
194
193
                    )
195
194
                {
196
 
                        g_debug("Frontend '%s' is busy recording '%s'", device.c_str(), scheduled_recording.description.c_str());
 
195
                        g_debug("Frontend '%s' is busy recording '%s'", device.c_str(), current.description.c_str());
197
196
                        return false;
198
197
                }
199
198
        }
212
211
        FrontendList& frontends = device_manager.get_frontends();
213
212
        for (FrontendList::iterator j = frontends.begin(); j != frontends.end(); j++)
214
213
        {
215
 
                Glib::ustring device = (*j)->get_path();
216
 
 
217
 
                if (is_device_available(device, scheduled_recording))
218
 
                {
219
 
                        scheduled_recording.device = device;
220
 
 
221
 
                        if (stream_manager.has_display_stream())
 
214
                Dvb::Frontend* device = (*j);
 
215
                const Glib::ustring& device_path = device->get_path();
 
216
 
 
217
                if (device->get_frontend_type() != channel.transponder.frontend_type)
 
218
                {
 
219
                        g_debug("Device %s is the wrong type", device_path.c_str());
 
220
                }
 
221
                else
 
222
                {
 
223
                        if (is_device_available(device_path, scheduled_recording))
222
224
                        {
223
 
                                Channel& display_channel = stream_manager.get_display_channel();
224
 
                                if (channel.transponder == display_channel.transponder)
 
225
                                scheduled_recording.device = device_path;
 
226
 
 
227
                                if (stream_manager.has_display_stream())
 
228
                                {
 
229
                                        Channel& display_channel = stream_manager.get_display_channel();
 
230
                                        if (channel.transponder == display_channel.transponder)
 
231
                                        {
 
232
                                                return;
 
233
                                        }
 
234
                                }
 
235
                                else
225
236
                                {
226
237
                                        return;
227
238
                                }
228
 
                        }
229
 
                        else
230
 
                        {
231
 
                                return;
232
 
                        }
233
239
 
234
 
                        g_debug("Display channel is on a different transponder for '%s', looking for something better", device.c_str());
 
240
                                g_debug("Display channel is on a different transponder for '%s', looking for something better", device_path.c_str());
 
241
                        }
235
242
                }
236
243
        }
237
244
}