Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Drake <dsd@laptop.org>2010-07-21 13:55:50 (GMT)
committer Daniel Drake <dsd@laptop.org>2010-07-21 14:00:55 (GMT)
commit021e33760459f5aab84cb7963bbf8ef01c0c213b (patch)
tree7b609917626808ee1e923aa6413ba6b2c81a8002
parent2bd2bc338780d368efbbbec6574ac209330ac9c9 (diff)
Disable high quality video on OLPC XO-1
http://dev.laptop.org/ticket/10242
-rw-r--r--hw.py37
-rw-r--r--ui.py6
2 files changed, 42 insertions, 1 deletions
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 )