From 73d0c2a2cff285372098ee84c214a779a0fc733e Mon Sep 17 00:00:00 2001
From: Michael Hanson <hansonorders@verison.net>
Date: Tue, 23 Mar 2010 23:58:13 +0000
Subject: mythtv: patch to address bug #644. ref 644

---
 .../mythtv/stable-0.22/mythtv/PKGBUILD             |  5 +--
 .../stable-0.22/mythtv/changeset_r23616.patch      | 38 ++++++++++++++++++++++
 2 files changed, 41 insertions(+), 2 deletions(-)
 create mode 100644 abs/core-testing/mythtv/stable-0.22/mythtv/changeset_r23616.patch

diff --git a/abs/core-testing/mythtv/stable-0.22/mythtv/PKGBUILD b/abs/core-testing/mythtv/stable-0.22/mythtv/PKGBUILD
index 4718d8d..d0c526c 100755
--- a/abs/core-testing/mythtv/stable-0.22/mythtv/PKGBUILD
+++ b/abs/core-testing/mythtv/stable-0.22/mythtv/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=mythtv
 pkgver=0.22
-pkgrel=22013
+pkgrel=22014
 pkgdesc="A personal video recorder for Linux"
 url="http://www.mythtv.org"
 license="GPL"
@@ -16,7 +16,7 @@ groups=('pvr')
 #MAKEFLAGS="-j6"
 install='mythtv.install'
 
-patchs=('menutheme_fallback.patch')
+patchs=('menutheme_fallback.patch' 'changeset_r23616.patch')
 #patchs=('smolt_jump.patch')
 source=('mythbackend' 'myth.sh' `echo ${patchs[@]:0}` 'mythbackend.lr' 'mythfrontend.lr' 'pretty')
 arch=('i686' 'x86_64')
@@ -103,6 +103,7 @@ build() {
 md5sums=('7ef6de58240e7aad389a0b13d91b1cf6'
          '2babd4b8e146a7538d18dcd55695b0be'
          'aa50bfa75ceceb0bdd5c1e4508690693'
+         '5b21465c2d80a8c1a96fa8f187aeaded'
          'f735805a80b0d1180dee01f9df1b7004'
          'f407d6af23e74a49540755420f84fa58'
          'f944c51c40208fdb3d8e3dd3d8c60bf3')
diff --git a/abs/core-testing/mythtv/stable-0.22/mythtv/changeset_r23616.patch b/abs/core-testing/mythtv/stable-0.22/mythtv/changeset_r23616.patch
new file mode 100644
index 0000000..2af779a
--- /dev/null
+++ b/abs/core-testing/mythtv/stable-0.22/mythtv/changeset_r23616.patch
@@ -0,0 +1,38 @@
+--- bindings/perl/MythTV/Recording.pm.orig	2010-03-23 23:06:08.000000000 +0000
++++ bindings/perl/MythTV/Recording.pm	2010-03-23 23:15:24.000000000 +0000
+@@ -307,12 +307,12 @@
+     # Set the is_mpeg flag
+         $info{'is_mpeg'} = 1;
+     # Grab the info we want from mplayer (go uber-verbose to override --really-quiet)
+-        my $data = `$program -v -v -v -v -nolirc -nojoystick -vo null -ao null -frames 1 -identify '$file' 2>/dev/null`;
++        my $idargs = "-v -v -v -v -nolirc -nojoystick -vo null -ao null -frames 1 -identify";
++        my $data = `$program $idargs '$file' 2>/dev/null`;
+         study $data;
+-        ($info{'video_type'})            = $data =~ m/^VIDEO:\s*(MPEG[12])/m;
++        ($info{'video_type'})            = $data =~ m/^VIDEO:?\s*(MPEG[12]|H264)/m;
+         ($info{'width'})                 = $data =~ m/^ID_VIDEO_WIDTH=0*([1-9]\d*)/m;
+         ($info{'height'})                = $data =~ m/^ID_VIDEO_HEIGHT=0*([1-9]\d*)/m;
+-        ($info{'fps'})                   = $data =~ m/^ID_VIDEO_FPS=0*([1-9]\d*(?:\.\d+)?)/m;
+         ($info{'audio_sample_rate'})     = $data =~ m/^ID_AUDIO_RATE=0*([1-9]\d*)/m;
+         ($info{'audio_bitrate'})         = $data =~ m/^ID_AUDIO_BITRATE=0*([1-9]\d*)/m;
+         ($info{'audio_bits_per_sample'}) = $data =~ m/^AUDIO:.+?ch,\s*[su](8|16)/mi;
+@@ -321,6 +321,19 @@
+         ($info{'aspect'})                = $data =~ m/^ID_VIDEO_ASPECT=0*([1-9]\d*(?:[\.\,]\d+)?)/m;
+         ($info{'audio_type'})            = $data =~ m/^ID_AUDIO_CODEC=0*([1-9]\d*(?:\.\d+)?)/m;
+         ($info{'mpeg_stream_type'})      = $data =~ m/^ID_DEMUXER=(\w+)/mi;
++    # Mplayer can't find the needed details.  Let's try again, forcing the use
++    # of the ffmpeg lavf demuxer 
++        if (!defined($info{'width'})) { 
++            my $altdata = `$program $idargs -demuxer lavf '$file' 2>/dev/null`; 
++            study $altdata; 
++            ($info{'width'})              = $altdata =~ m/^ID_VIDEO_WIDTH=0*([1-9]\d*)/m; 
++            ($info{'height'})             = $altdata =~ m/^ID_VIDEO_HEIGHT=0*([1-9]\d*)/m; 
++            ($info{'audio_bitrate'})      = $altdata =~ m/^ID_AUDIO_BITRATE=0*([1-9]\d*)/m; 
++            ($info{'audio_sample_rate'})  = $altdata =~ m/^ID_AUDIO_RATE=0*([1-9]\d*)/m; 
++            ($info{'audio_channels'})     = $altdata =~ m/^ID_AUDIO_NCH=0*([1-9]\d*)/m; 
++            ($info{'aspect'})             = $altdata =~ m/^ID_VIDEO_ASPECT=0*([1-9]\d*(?:[\.\,]\d+)?)/m; 
++        }
++
+     # Stream type
+         $info{'mpeg_stream_type'} = lc($info{'mpeg_stream_type'});
+         if ($info{'mpeg_stream_type'} && $info{'mpeg_stream_type'} !~ /^mpeg/) {
-- 
cgit v0.12

