From 021e33760459f5aab84cb7963bbf8ef01c0c213b Mon Sep 17 00:00:00 2001 From: Daniel Drake Date: Wed, 21 Jul 2010 13:55:50 +0000 Subject: Disable high quality video on OLPC XO-1 http://dev.laptop.org/ticket/10242 --- diff --git a/hw.py b/hw.py new file mode 100644 index 0000000..d678e37 --- /dev/null +++ b/hw.py @@ -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 + diff --git a/ui.py b/ui.py index 51bd3b9..21e27be 100644 --- a/ui.py +++ b/ui.py @@ -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 ) -- cgit v0.9.1