Author Topic: MythTV version  (Read 10393 times)

kyfalcon

  • Guru
  • ****
  • Posts: 390
    • View Profile
MythTV version
« on: November 08, 2011, 12:44:28 am »
What version of Mythtv does 10.04 use? If it is not .24, is there anything keeping me from building my own version of .24 and using that? I need .24 for the support of the Ceton infinity capture card.

Any help is appreciated.

Please Thom don't be a hater :)
« Last Edit: November 08, 2011, 12:51:19 am by kyfalcon »

merkur2k

  • Addicted
  • *
  • Posts: 513
    • View Profile
Re: MythTV version
« Reply #1 on: November 08, 2011, 04:38:19 am »
10.04 comes with .23. you certainly could build your own, provided you pay attention to compatibility with lmce packages, in particular the mythtv plugin.

kyfalcon

  • Guru
  • ****
  • Posts: 390
    • View Profile
Re: MythTV version
« Reply #2 on: November 08, 2011, 01:52:13 pm »
How involved is the Myth Plugin for LMCE? If it isn't too involved I can try and get .24 working and moved to the repo. It all depends on how much time I can find to work on this.

Thanks,
Kevin

merkur2k

  • Addicted
  • *
  • Posts: 513
    • View Profile
Re: MythTV version
« Reply #3 on: November 08, 2011, 04:04:12 pm »
mostly its just the network control protocol. if youre lucky, nothing changed and all you have to do is make the version check match.

kyfalcon

  • Guru
  • ****
  • Posts: 390
    • View Profile
Re: MythTV version
« Reply #4 on: November 08, 2011, 04:42:44 pm »
My ceton card gets delivered today so the next couple of days I will give it a go. Hopefully it is not a big undertaking.
Please keep an eye on this topic if I have some questions I need answered.

Thanks,
Kevin

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: MythTV version
« Reply #5 on: November 08, 2011, 09:49:03 pm »
The MythTV backend protocol has changed.

Due to brain dead changes in MythTV's backend protocol by truly idiotic developers, You will need to change the code that sends the MYTH_PROTO command, to also output the appropriate version token. This is a random hex number that changes with each official released version. This was a deliberate attempt to keep unofficial clients from just randomly connecting to the backend.

http://www.mythtv.org/wiki/MYTH_PROTO_VERSION_(Myth_Protocol)  it is explained here.
I have here a patch file for doing it for 0.24. No this will not be folded in until the official mythTV packages upstream change to 0.24, as this completely breaks 0.23 compatibility.

Code: [Select]
Index: MythBackEnd_Socket.cpp
===================================================================
--- MythBackEnd_Socket.cpp (revision 25010)
+++ MythBackEnd_Socket.cpp (working copy)
@@ -17,7 +17,7 @@
 using namespace std;
 using namespace DCE;
 
-#define MYTH_PROTOCOL 56
+#define MYTH_PROTOCOL 63
 #include "Gen_Devices/AllCommandsRequests.h"
 
 MythBackEnd_Socket::MythBackEnd_Socket(MythTV_PlugIn *pMythTV_PlugIn,string sIPAddress)
@@ -157,7 +157,7 @@
  m_bConnected=true;
 
  string sResponse;
- if( !InternalSendMythString("MYTH_PROTO_VERSION " TOSTRING(MYTH_PROTOCOL),&sResponse,"ACCEPT") )
+ if( !InternalSendMythString("MYTH_PROTO_VERSION " TOSTRING(MYTH_PROTOCOL) " 3875641D",&sResponse,"ACCEPT") )
  {
  LoggerWrapper::GetInstance()->Write(LV_CRITICAL,"MythBackEnd_Socket::Connect couldn't send MYTH_PROTO_VERSION m_bConnected=false");
  DeleteSocket();

mkbrown69

  • Guru
  • ****
  • Posts: 213
    • View Profile
Re: MythTV version
« Reply #6 on: November 13, 2011, 11:07:34 pm »
The MythTV backend protocol has changed.

Due to brain dead changes in MythTV's backend protocol by truly idiotic developers, You will need to change the code that sends the MYTH_PROTO command, to also output the appropriate version token. This is a random hex number that changes with each official released version. This was a deliberate attempt to keep unofficial clients from just randomly connecting to the backend.

http://www.mythtv.org/wiki/MYTH_PROTO_VERSION_(Myth_Protocol)  it is explained here.
I have here a patch file for doing it for 0.24. No this will not be folded in until the official mythTV packages upstream change to 0.24, as this completely breaks 0.23 compatibility.

Code: [Select]
Index: MythBackEnd_Socket.cpp
===================================================================
--- MythBackEnd_Socket.cpp (revision 25010)
+++ MythBackEnd_Socket.cpp (working copy)
@@ -17,7 +17,7 @@
 using namespace std;
 using namespace DCE;
 
-#define MYTH_PROTOCOL 56
+#define MYTH_PROTOCOL 63
 #include "Gen_Devices/AllCommandsRequests.h"
 
 MythBackEnd_Socket::MythBackEnd_Socket(MythTV_PlugIn *pMythTV_PlugIn,string sIPAddress)
@@ -157,7 +157,7 @@
  m_bConnected=true;
 
  string sResponse;
- if( !InternalSendMythString("MYTH_PROTO_VERSION " TOSTRING(MYTH_PROTOCOL),&sResponse,"ACCEPT") )
+ if( !InternalSendMythString("MYTH_PROTO_VERSION " TOSTRING(MYTH_PROTOCOL) " 3875641D",&sResponse,"ACCEPT") )
  {
  LoggerWrapper::GetInstance()->Write(LV_CRITICAL,"MythBackEnd_Socket::Connect couldn't send MYTH_PROTO_VERSION m_bConnected=false");
  DeleteSocket();

Thom,

Could the MythTV Player be extended to read in MYTH_PROTO_VERSION from a configuration file in /etc/pluto?  That way people who need to run a newer version of Myth could simply change the Protocol number.  Obviously, they couldn't leverage newer MythTV features that aren't supported in the Player, but they'd have the basic functionality.

Something for your consideration...

/Mike

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: MythTV version
« Reply #7 on: November 13, 2011, 11:23:30 pm »
using device data was considered, and it will be tested at some point. Unfortunately, I do not have time to implement and test this idea, as I am swamped by paying work.

If you want to try, read up on Device Data, and see how it's being used by DCE devices, and make the appropriate modifications to the MythTV PlugIn device.

-Thom

mkbrown69

  • Guru
  • ****
  • Posts: 213
    • View Profile
Re: MythTV version
« Reply #8 on: November 14, 2011, 04:36:13 am »
Thom,

Thanks for the info.  Ticket 1329 has been created in Trac for tracking purposes, and referenced this thread.

I'm not a C programmer, so someone more talented in that department with a vested interest will likely get something done before I can figure out the basics.

Thanks for the pointers on DCE and Device Data.  I'll read up on that for some plumbing I'm looking into.

/Mike

kyfalcon

  • Guru
  • ****
  • Posts: 390
    • View Profile
Re: MythTV version
« Reply #9 on: November 15, 2011, 03:37:00 pm »
Thom,

I have downloaded and built MythTV .24 on my 10.04 box, the ceton card is working great. My question is do I just rebuild the LinuxMCE myth code with your patch and install that? Since i am in building this shit I will also try and take a look at adding the device data.

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: MythTV version
« Reply #10 on: November 15, 2011, 03:39:35 pm »
applying the patch to mythTV PlugIn and building it with make so should be sufficient. (You need to make sure that any build dependencies are installed. The quickest way is literally to go into Ubuntu_Helpers_NoHardCode, look in conf-files for your distribution, and installing the packages in the build-packages file (you can back tick it in).

-Thom

kyfalcon

  • Guru
  • ****
  • Posts: 390
    • View Profile
Re: MythTV version
« Reply #11 on: November 15, 2011, 04:27:53 pm »
Can you repeat that last part in English?  ???
I looked at that repository. Are you saying I need to do an apt-get install of all of those libraries?

Thanks,
Kevin

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: MythTV version
« Reply #12 on: November 15, 2011, 04:33:14 pm »
yes.

The back tick, `` means "take the output of whatever command you put in there and put it in line".. so

apt-get -y install `cat build-packages`

-Thom

kyfalcon

  • Guru
  • ****
  • Posts: 390
    • View Profile
Re: MythTV version
« Reply #13 on: November 15, 2011, 04:43:22 pm »
Thx

kyfalcon

  • Guru
  • ****
  • Posts: 390
    • View Profile
Re: MythTV version
« Reply #14 on: November 17, 2011, 04:09:15 pm »
OK, I'm getting close. I have built myth .24 and the backend, frontend and setup all work from command prompt. The ceton card is truly awesome. I have downloaded the linuxmce myth plugin, player and backend proxy and built them all. I copied all the .so, sh and .pl files to /usr/pluto/bin. I don't see the mythbackend starting through linuxmce and myth_player device #35 is failing to start. For Myth_Player I just did a mkae so. Do I need to do more? I noticed a bunch of scripts in that directory. Do I need to run those first?

Thanks,
Kevin