Win TVHeadend Add-On from AdamSutton GIT fork
#1
I'm trying to compile the TVHeadend addon from the adamsutton fork of the XBMC-PVR-Addons github (https://github.com/adamsutton/xbmc-pvr-addons) to play with the new timeshift functionality but I'm not having any luck.

I'm trying to build from a Windows 7 64bit machine and Visual C++ 2010 express is giving the following errors when compiling:
Code:
3>     Creating library ..\..\addon\XBMC_Tvheadend_win32.lib and object ..\..\addon\XBMC_Tvheadend_win32.exp
3>HTSPData.obj : error LNK2001: unresolved external symbol "public: int __thiscall CCircBuffer::read(void *,unsigned int)" (?read@CCircBuffer@@QAEHPAXI@Z)
3>HTSPData.obj : error LNK2001: unresolved external symbol "public: int __thiscall CCircBuffer::write(void const *,unsigned int)" (?write@CCircBuffer@@QAEHPBXI@Z)
3>HTSPData.obj : error LNK2001: unresolved external symbol "public: unsigned int __thiscall CCircBuffer::free(void)const " (?free@CCircBuffer@@QBEIXZ)
3>HTSPData.obj : error LNK2001: unresolved external symbol "public: unsigned int __thiscall CCircBuffer::avail(void)const " (?avail@CCircBuffer@@QBEIXZ)
3>HTSPData.obj : error LNK2001: unresolved external symbol "public: void __thiscall CCircBuffer::reset(void)" (?reset@CCircBuffer@@QAEXXZ)
3>HTSPData.obj : error LNK2001: unresolved external symbol "public: void __thiscall CCircBuffer::alloc(unsigned int)" (?alloc@CCircBuffer@@QAEXI@Z)
3>HTSPData.obj : error LNK2001: unresolved external symbol "public: __thiscall CCircBuffer::~CCircBuffer(void)" (??1CCircBuffer@@QAE@XZ)
3>HTSPData.obj : error LNK2001: unresolved external symbol "public: __thiscall CCircBuffer::CCircBuffer(void)" (??0CCircBuffer@@QAE@XZ)
3>..\..\addon\XBMC_Tvheadend_win32.pvr : fatal error LNK1120: 8 unresolved externals
========== Rebuild All: 2 succeeded, 1 failed, 0 skipped ==========

Can anyone shed any light on the errors, or does anyone have a recent build from the adamsutton git fork?
Reply
#2
Use opdenkamps repo all my prs are merged and he fixed some win compilation issues.

Adam
Reply
#3
Thanks Adam, just checked it out and built. Just about to test and will post it up somewhere for others if it works ok.

Seri
Reply
#4
(2012-12-02, 16:42)adamsutton Wrote: Use opdenkamps repo all my prs are merged and he fixed some win compilation issues.

Adam

Adam, I've built from the opdenkamps repo but timeshifting doesn't seem to function at all (pause button isn't greyed out but doesn't do anything). I'm using a build of TVHeadend checked out from GIT about 2 hours ago.

Is there any special configuration required or should it "just work"?
Reply
#5
I'll try and put up some instructions this week. I promised to also write a tech wiki page about some of the design concepts, so I'll do it at the same time. But the short instructions are:

1. Checkout the relevant branch "feature/timeshift" I think it was.
2. Configure with timeshift support: $ ./configure --enable-timeshift
3. Build: $ make
4. Run: $ ./build.linux/tvheadend
5. Define timeshift buffer (max): WEBUI->Configuration->General->Timeshift buffer period (minutes).

Adam
Reply
#6
(2012-12-03, 00:43)adamsutton Wrote: 1. Checkout the relevant branch "feature/timeshift" I think it was.

Adam, thanks again, I never thought to check for a separate branch of TVHeadend and was assuming it was merged into the master trunk.

I'm just compiling and preparing to test.

Also, the recordings organised into folders on the front end is much nicer.

Seri
Reply
#7
There are a couple of new things using the latest pvr.hts with a build from git master. This includes:

- possibility for timeshift (as you know)
- recordings in folders (as you've spotted - though its limited to a single folder depth, this is an XBMC limitation).
- recordings via HTSP. This finally overcomes the whole playing back in-progress recordings through PVR interfaces,
- some minor re-connection fixes.

Enjoy,
Adam
Reply
#8
Adam, I'm experiencing a crash on TVHeadend server when stopping a channel with this branch, looking at the crash dump it's definitely looks to be time shift code related.

This is using the latest addon built from dotnetdevelopers, the Frodo Beta 2 Windows release of XBMC and a code checkout from the TVHeadend Timeshift branch as of about 9:30am this morning.

Code:
Dec  3 10:05:08 server tvheadend[17345]: htsp: 192.168.1.130 [ xbmc | XBMC Media Center ]: Disconnected
Dec  3 10:05:08 server tvheadend[17345]: subscription: "192.168.1.130 [ xbmc | XBMC Media Center ]" unsubscribing from "GOLD"
Dec  3 10:05:08 server tvheadend[17345]: CRASH: Signal: 11 in PRG: /opt/tvheadend/bin/tvheadend (3.3.177~g47f3f55) [1ef33acbc16b80d531f4e763d4ceb203b0434f18] CWD: /
Dec  3 10:05:08 server tvheadend[17345]: CRASH: Fault address 0x2d0 (Address not mapped)
Dec  3 10:05:08 server tvheadend[17345]: CRASH: Loaded libraries: linux-vdso.so.1 /usr/lib64/libssl.so.1.0.0 /usr/lib64/libcrypto.so.1.0.0 /lib64/libz.so.1 /usr/lib64/libavahi-common.so.3 /usr/lib64/libavahi-client.so.3 /lib64/librt.so.1 /lib64/libdl.so.2 /lib64/libpthread.so.0 /lib64/libm.so.6 /lib64/libc.so.6 /usr/lib64/libgssapi_krb5.so.2 /usr/lib64/libkrb5.so.3 /lib64/libcom_err.so.2 /usr/lib64/libk5crypto.so.3 /lib64/libresolv.so.2 /usr/lib64/libgmp.so.10 /usr/lib64/libdbus-1.so.3 /lib64/ld-linux-x86-64.so.2 /usr/lib64/libkrb5support.so.0
Dec  3 10:05:08 server tvheadend[17345]: CRASH: Register dump [23]: 0000000000000000 000000000000440c 0000000000000000 0000000000000000 00007f22ec001670 00007f2325ffac98 00007f2325ffad98 000000000088fe50 0000000000000000 0000000000000000 00007f22ec001958 0000000000000000 00007f2324ff9700 0000000000000000 00007f22e7fff9c0 00007f2325ffab50 00007f234057401b 0000000000010206 0000000000000033 0000000000000004 000000000000000e fffffffe7ffbfa17 00000000000002d0
Dec  3 10:05:08 server tvheadend[17345]: CRASH: STACKTRACE
Dec  3 10:05:08 server tvheadend[17345]: CRASH: /usr/src/tvheadend-time/src/trap.c:141 0x4284f8
Dec  3 10:05:08 server tvheadend[17345]: CRASH: ??:0 0x7f234057aa10
Dec  3 10:05:08 server tvheadend[17345]: CRASH: pthread_join+0x1b  (/lib64/libpthread.so.0)
Dec  3 10:05:08 server tvheadend[17345]: CRASH: /usr/src/tvheadend-time/src/timeshift.c:124 0x447272
Dec  3 10:05:08 server tvheadend[17345]: CRASH: /usr/src/tvheadend-time/src/htsp_server.c:285 0x41f0f7
Dec  3 10:05:08 server tvheadend[17345]: CRASH: /usr/src/tvheadend-time/src/htsp_server.c:1886 0x422448
Dec  3 10:05:08 server tvheadend[17345]: CRASH: /usr/src/tvheadend-time/src/tcp.c:401 0x407e29
Dec  3 10:05:08 server tvheadend[17345]: CRASH: ??:0 0x7f2340572e37
Dec  3 10:05:08 server tvheadend[17345]: CRASH: clone+0x6d  (/lib64/libc.so.6)
Reply
#9
I've just posted a thread about timeshift support please read that Wink

Adam

P.S.
I posted the thread AFTER you posted here specifically to head off further reports etc.. So I don't bare any grudge towards you're having posted the crash log. But I'm already aware it crashes and just thought I better make the current position clear.
Reply
#10
(2012-12-03, 12:30)adamsutton Wrote: So I don't bare any grudge towards you're having posted the crash log.

Adam, understood and appreciated, I've been around "the internets" long enough to be pretty thick skinned and not take things personally.

Absolutely top notch work on TVHeadend lately, it's rapidly gone from a project that felt almost abandoned and turned into one of the most fastest progressing.

I'll keep checking out the timeshift branch and doing a build every day or so until it works for me (it's been the one feature that I've really wanted from TVHeadend since I first implemented it).

Thanks again and keep up the good work.
Reply
#11
I'm a bit pushed for time at the moment and probably will be over the coming weeks. So I wouldn't expect anything for a few weeks, but I would at least like to get to the bottom of the crashes as clearly they will hold back wider adoption and are the primary reason I have not yet merged this to trunk.

The code was much more stable at one point, but I had to refactor things and introduced a bug somewhere so I'm sure if I can find a few hours to investigate it I can get to the bottom of it.

Adam
Reply

Logout Mark Read Team Forum Stats Members Help
TVHeadend Add-On from AdamSutton GIT fork0