diff options
author | Daniel Drake <dsd@laptop.org> | 2010-07-21 13:55:50 (GMT) |
---|---|---|
committer | Daniel Drake <dsd@laptop.org> | 2010-07-21 14:00:55 (GMT) |
commit | 021e33760459f5aab84cb7963bbf8ef01c0c213b (patch) | |
tree | 7b609917626808ee1e923aa6413ba6b2c81a8002 | |
parent | 2bd2bc338780d368efbbbec6574ac209330ac9c9 (diff) |
Disable high quality video on OLPC XO-1
http://dev.laptop.org/ticket/10242
-rw-r--r-- | hw.py | 37 | ||||
-rw-r--r-- | ui.py | 6 |
2 files changed, 42 insertions, 1 deletions
@@ -0,0 +1,37 @@ +# Copyright (C) 2010, One Laptop per Child +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +import os + +def _get_dmi(node): + path = os.path.join('/sys/class/dmi/id', node) + try: + return open(path).readline().strip() + except: + return None + +def get_xo_version(): + if _get_dmi('product_name') != 'XO': + return 0 + version = _get_dmi('product_version') + if version == '1': + return 1 + if version == '1.5': + return 1.5 + else: + return 0 + @@ -63,6 +63,7 @@ import record import aplay from tray import HTray from toolbarcombobox import ToolComboBox +import hw class UI: @@ -2341,7 +2342,10 @@ class VideoToolbar(gtk.Toolbar): self.quality = ToolComboBox(combo=combo, label_text=Constants.istrQuality+':') self.quality.combo.append_text(Constants.istrLowQuality) - self.quality.combo.append_text(Constants.istrHighQuality) + if hw.get_xo_version() != 1: + # Disable High quality on XO-1. The system simply isn't beefy + # enough for recording to work well. + self.quality.combo.append_text(Constants.istrHighQuality) self.quality.combo.set_active(0) self.insert(self.quality, -1 ) |