Beiträge von TEDDYXXL

    Hallo !



    Nach der Installation der neuen ffmpeg-Version 2.0 klappt der


    Compile der noad-Version 0.8.5 nicht mehr:


    this is noad Version 0.8.5
    configured with libmpeg2 Version 0.5.1
    configured with libavcodec Version 55.18.102


    now start "make" to build noad
    and "make install" to install noad
    make all-am
    make[1]: Entering directory `/backup/privat/tv/dvb/tools/noad-0.8.5'
    CXX tools.o
    CXX vdr_cl.o
    CXX svdrpc.o
    svdrpc.cpp:21:19: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*« [-Wwrite-strings]
    AR libnoad.a
    CXX audiotools.o
    audiotools.cpp: In Funktion »void initAVCodec()«:
    audiotools.cpp:105:39: Fehler: »avcodec_open« wurde in diesem Gültigkeitsbereich nicht definiert
    audiotools.cpp:110:30: Fehler: »AVCODEC_MAX_AUDIO_FRAME_SIZE« wurde in diesem Gültigkeitsbereich nicht definiert
    audiotools.cpp: In Funktion »int scan_audio_stream_0(unsigned char*, int)«:
    audiotools.cpp:166:16: Fehler: »AVCODEC_MAX_AUDIO_FRAME_SIZE« wurde in diesem Gültigkeitsbereich nicht definiert
    audiotools.cpp:175:11: Warnung: »int avcodec_decode_audio3(AVCodecContext*, int16_t*, int*, AVPacket*)« ist veraltet (deklariert bei /usr/local/include/libavcodec/avcodec.h:3682) [-Wdeprecated-declarations]
    audiotools.cpp:176:39: Warnung: »int avcodec_decode_audio3(AVCodecContext*, int16_t*, int*, AVPacket*)« ist veraltet (deklariert bei /usr/local/include/libavcodec/avcodec.h:3682) [-Wdeprecated-declarations]
    make[1]: *** [audiotools.o] Fehler 1
    make[1]: Leaving directory `/backup/privat/tv/dvb/tools/noad-0.8.5'
    make: *** [all] Fehler 2
    CXX audiotools.o
    audiotools.cpp: In Funktion »void initAVCodec()«:
    audiotools.cpp:105:39: Fehler: »avcodec_open« wurde in diesem Gültigkeitsbereich nicht definiert
    audiotools.cpp:110:30: Fehler: »AVCODEC_MAX_AUDIO_FRAME_SIZE« wurde in diesem Gültigkeitsbereich nicht definiert
    audiotools.cpp: In Funktion »int scan_audio_stream_0(unsigned char*, int)«:
    audiotools.cpp:166:16: Fehler: »AVCODEC_MAX_AUDIO_FRAME_SIZE« wurde in diesem Gültigkeitsbereich nicht definiert
    audiotools.cpp:175:11: Warnung: »int avcodec_decode_audio3(AVCodecContext*, int16_t*, int*, AVPacket*)« ist veraltet (deklariert bei /usr/local/include/libavcodec/avcodec.h:3682) [-Wdeprecated-declarations]
    audiotools.cpp:176:39: Warnung: »int avcodec_decode_audio3(AVCodecContext*, int16_t*, int*, AVPacket*)« ist veraltet (deklariert bei /usr/local/include/libavcodec/avcodec.h:3682) [-Wdeprecated-declarations]
    make: *** [audiotools.o] Fehler 1


    Grüße,


    Dirk

    Hallo !



    Mit der aktuell ffmpeg-Version 1.2 läßt sich die aktuelle noad-Version 0.8.5 nicht mehr compilieren:


    this is noad Version 0.8.5
    configured with libmpeg2 Version 0.5.1
    configured with libavcodec Version 54.92.100


    now start "make" to build noad
    and "make install" to install noad
    make all-am
    make[1]: Entering directory `/backup/privat/tv/dvb/tools/noad-0.8.5'
    CXX tools.o
    CXX vdr_cl.o
    CXX svdrpc.o
    svdrpc.cpp:21:19: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*« [-Wwrite-strings]
    AR libnoad.a
    CXX audiotools.o
    audiotools.cpp: In Funktion »void initAVCodec()«:
    audiotools.cpp:105:7: Warnung: »int avcodec_open(AVCodecContext*, AVCodec*)« ist veraltet (deklariert bei /usr/local/include/libavcodec/avcodec.h:3711) [-Wdeprecated-declarations]
    audiotools.cpp:105:39: Warnung: »int avcodec_open(AVCodecContext*, AVCodec*)« ist veraltet (deklariert bei /usr/local/include/libavcodec/avcodec.h:3711) [-Wdeprecated-declarations]
    audiotools.cpp: In Funktion »int scan_audio_stream_0(unsigned char*, int)«:
    audiotools.cpp:175:11: Warnung: »int avcodec_decode_audio3(AVCodecContext*, int16_t*, int*, AVPacket*)« ist veraltet (deklariert bei /usr/local/include/libavcodec/avcodec.h:3994) [-Wdeprecated-declarations]
    audiotools.cpp:176:39: Warnung: »int avcodec_decode_audio3(AVCodecContext*, int16_t*, int*, AVPacket*)« ist veraltet (deklariert bei /usr/local/include/libavcodec/avcodec.h:3994) [-Wdeprecated-declarations]
    CXX cchecklogo.o
    CXX ccontrol.o
    CXX cgetlogo.o
    CXX ctoolbox.o
    CXX noad.o
    CXX noaddata.o
    CXX tnoad.o
    CXX ffmpeg_decoder.o
    ffmpeg_decoder.cpp: In Elementfunktion »virtual int FFMPegDecoder::openFile(cFileName*, cNoadIndexFile*)«:
    ffmpeg_decoder.cpp:187:20: Warnung: »int av_find_stream_info(AVFormatContext*)« ist veraltet (deklariert bei /usr/local/include/libavformat/avformat.h:1513) [-Wdeprecated-declarations]
    ffmpeg_decoder.cpp:187:50: Warnung: »int av_find_stream_info(AVFormatContext*)« ist veraltet (deklariert bei /usr/local/include/libavformat/avformat.h:1513) [-Wdeprecated-declarations]
    ffmpeg_decoder.cpp:226:5: Warnung: »int avcodec_open(AVCodecContext*, AVCodec*)« ist veraltet (deklariert bei /usr/local/include/libavcodec/avcodec.h:3711) [-Wdeprecated-declarations]
    ffmpeg_decoder.cpp:226:35: Warnung: »int avcodec_open(AVCodecContext*, AVCodec*)« ist veraltet (deklariert bei /usr/local/include/libavcodec/avcodec.h:3711) [-Wdeprecated-declarations]
    ffmpeg_decoder.cpp: In Elementfunktion »virtual int FFMPegDecoder::decoder_exit()«:
    ffmpeg_decoder.cpp:251:3: Warnung: »void av_close_input_file(AVFormatContext*)« ist veraltet (deklariert bei /usr/local/include/libavformat/avformat.h:1689) [-Wdeprecated-declarations]
    ffmpeg_decoder.cpp:251:33: Warnung: »void av_close_input_file(AVFormatContext*)« ist veraltet (deklariert bei /usr/local/include/libavformat/avformat.h:1689) [-Wdeprecated-declarations]
    CXX libmpeg2_decoder.o
    libmpeg2_decoder.cpp: In Elementfunktion »int LibMPeg2Decoder::decode_mpeg2(uint8_t*, uint8_t*, uint32_t&)«:
    libmpeg2_decoder.cpp:366:9: Warnung: case-Marke ist kleiner als Minimalwert des Typs [standardmäßig aktiviert]
    CXX mpeg_decoder.o
    CXX main.o
    main.cpp: In Funktion »int close_files()«:
    main.cpp:119:17: Fehler: Aggregat »close_files()::rlimit file_limit« hat unvollständigen Typ und kann nicht definiert werden
    main.cpp:122:17: Fehler: »RLIMIT_NOFILE« wurde in diesem Gültigkeitsbereich nicht definiert
    main.cpp:122:43: Fehler: »getrlimit« wurde in diesem Gültigkeitsbereich nicht definiert
    make[1]: *** [main.o] Fehler 1
    make[1]: Leaving directory `/backup/privat/tv/dvb/tools/noad-0.8.5'
    make: *** [all] Fehler 2
    CXX main.o
    main.cpp: In Funktion »int close_files()«:
    main.cpp:119:17: Fehler: Aggregat »close_files()::rlimit file_limit« hat unvollständigen Typ und kann nicht definiert werden
    main.cpp:122:17: Fehler: »RLIMIT_NOFILE« wurde in diesem Gültigkeitsbereich nicht definiert
    main.cpp:122:43: Fehler: »getrlimit« wurde in diesem Gültigkeitsbereich nicht definiert
    make: *** [main.o] Fehler 1


    Grüße,


    Dirk

    Hat sich zwischen vomp 3.x und 4.0 an den benötigten freien TCP-/UDP-Ports geändert ?


    Mit den bisherigen Firewalleinstellungen lief vomp 3.x problemlos.


    Nach dem "Update" auf vomp 4.0 und einem selbstkompilierten Dongle bekomme ich die Meldung


    "Locating server ..." , die Ewigkeiten auf Bildschirm steht, bis ich die Firewall stoppe.



    Grüße,


    Dirk

    Der Compile gegen die aktuelle git-ffmpeg-Version (libavcodec Version 55.0.100) klappt nicht:



    *** Plugin softhddevice:
    cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/backup/privat/tv/dvb/vdr-1.7.41/include -I/usr/include/alsa -I/usr/local/include -I/usr/local/include -DPLUGIN_NAME_I18N='"softhddevice"' -D_GNU_SOURCE -DAV_INFO -DAV_INFO_TIME=3000 -DUSE_PIP -DUSE_ALSA -DUSE_OSS -DUSE_VDPAU -DUSE_SCREENSAVER -DUSE_SWRESAMPLE -DGIT_REV='"eab051f"' -I/backup/privat/tv/dvb/vdr-1.7.41/include -g -W -Wall -Wextra -Winit-self -Wdeclaration-after-statement -c -o softhddev.o softhddev.c
    softhddev.c: In Funktion »PesParse«:
    softhddev.c:687:4: Fehler: »AudioCodecID« hat unvollständigen Typ
    softhddev.c:692:8: Fehler: »AudioCodecID« hat unvollständigen Typ
    softhddev.c:708:7: Fehler: »AudioCodecID« hat unvollständigen Typ
    softhddev.c: In Funktion »PlayAudio«:
    softhddev.c:1026:2: Fehler: »AudioCodecID« hat unvollständigen Typ
    softhddev.c:1084:2: Fehler: »AudioCodecID« hat unvollständigen Typ
    softhddev.c:1092:2: Fehler: »AudioCodecID« hat unvollständigen Typ
    softhddev.c:1127:6: Fehler: »AudioCodecID« hat unvollständigen Typ
    softhddev.c:1143:2: Fehler: »AudioCodecID« hat unvollständigen Typ
    softhddev.c:1197:6: Fehler: »AudioCodecID« hat unvollständigen Typ
    softhddev.c:1200:3: Fehler: »AudioCodecID« hat unvollständigen Typ
    softhddev.c: In Funktion »PlayTsAudio«:
    softhddev.c:1256:2: Fehler: »AudioCodecID« hat unvollständigen Typ
    softhddev.c: Auf höchster Ebene:
    softhddev.c:1306:18: Fehler: Feld »CodecID« hat unvollständigen Typen
    softhddev.c:1307:18: Fehler: Feld »LastCodecID« hat unvollständigen Typen
    softhddev.c: In Funktion »VideoResetPacket«:
    softhddev.c:1447:5: Warnung: »priv« ist veraltet (deklariert bei /usr/local/include/libavcodec/avcodec.h:1065) [-Wdeprecated-declarations]
    softhddev.c: In Funktion »VideoNextPacket«:
    softhddev.c:1482:5: Warnung: »priv« ist veraltet (deklariert bei /usr/local/include/libavcodec/avcodec.h:1065) [-Wdeprecated-declarations]
    softhddev.c: In Funktion »VideoDecodeInput«:
    softhddev.c:1877:5: Warnung: »priv« ist veraltet (deklariert bei /usr/local/include/libavcodec/avcodec.h:1065) [-Wdeprecated-declarations]
    softhddev.c: In Funktion »SetPlayMode«:
    softhddev.c:2422:2: Fehler: »AudioCodecID« hat unvollständigen Typ
    softhddev.c: In Funktion »Start«:
    softhddev.c:3125:2: Fehler: »AudioCodecID« hat unvollständigen Typ
    softhddev.c: In Funktion »Resume«:
    softhddev.c:3278:2: Fehler: »AudioCodecID« hat unvollständigen Typ
    make[1]: *** [softhddev.o] Fehler 1
    ls: Zugriff auf /backup/privat/tv/dvb/vdr-1.7.41/PLUGINS/src/softhddevice/po/*.mo nicht möglich: Datei oder Verzeichnis nicht gefunden



    Grüße,


    Dirk

    Danke für die neue Version und das klasse Plugin.


    Das Löschen von Filmen mit Sonderzeichen werde ich noch testen.


    Das Spulen klappt wie bisher nur mit 2x, egal wie oft ich auf die >>-Taste drücke/haue.


    Es kommt keine Fehlermeldung am Bildschirm bzw. im Logfile.


    Als letztes steht drin:


    mReqId= 21 fd= 59 Opening Path= /video0/CSI_Vegas/2013-02-05.20.12.61-0.rec/00001.ts
    found for /video0/CSI_Vegas/2013-02-05.20.12.61-0.rec/00001.ts
    found for /video0/CSI_Vegas/2013-02-05.20.12.61-0.rec/00002.ts
    mReqId= 21 fd= 59 Done. Start Streaming
    mReqId= 21 fd= 59 Content-Range: bytes 0-2427441523/2427441524
    mReqId= 21 fd= 59 isTimeRequest is true
    mReqId= 19 fd= 63 handleRead() in wrong state= SERVING
    mReqId= 19 fd= 63 Destructor of cHttpResource called
    mReqId= 19 fd= 63 ERROR: mFile still open. Closing now...
    - Check Write: mActiveSessions= 1



    Grüße,


    Dirk

    >>> Hmm, das ist komisch. Nutzt Du die default widget.conf? Deine Aufnahmen sind .ts Aufnehmen, oder?


    Ja, ich nutze die default widget.conf und alles sind .ts Aufnahmen.


    Kannst du irgendwie bzw. irgendwo einbauen, das man am TV die Versionnummer des Widgets angezeigt bekommt,


    um sicher zu stellen, das man die aktuelle Version hat ?!


    <?xml version="1.0" encoding="UTF-8"?>
    <config>
    <format>hls</format>
    <tgtBufferBitrate>6000000</tgtBufferBitrate>
    <totalBufferDuration>40</totalBufferDuration>
    <initialBuffer>5</initialBuffer>
    <pendingBuffer>5</pendingBuffer>
    <initialTimeOut>5</initialTimeOut>
    <skipDuration>30</skipDuration>
    <liveChannels>20</liveChannels>
    </config>


    Grüße,


    Dirk

    Ist ein schnelleres Vorspulen als 2x nicht möglich ?


    Ich habe beim delete über das Plugin ein Problem, wenn Sonderzeichen drin sind, obwohl das Abspielen problemlos klappt:


    mReqId= 537 fd= 60 Resume: /video0/Bones_-_Die_Knochenjägerin/2013-02-26.21.12.61-0.rec saving Index= 94913 mResume= 3796.55 fpr= 25
    mReqId= 537 fd= 60 Destructor of cHttpResource called
    - Check Write: mActiveSessions= 0
    mReqId= 538 fd= 60 cHttpResource created
    + mActiveSessions= 1
    mReqId= 538 fd= 60 mMethod= POST mPath= /deleteRecording.xml mVer= HTTP/1.1 mQuery= id=/video0/Bones_-_Die_Knochenj%E4gerin/2013-02-26.21.12.61-0.rec
    User-Agent: Mozilla/5.0 (SmartHub; SMART-TV; U; Linux/SmartTV; Maple2012) AppleWebKit/534.7 (KHTML, like Gecko) SmartTV Safari/534.7
    mReqId= 538 fd= 60 ERROR: Recording not found. Deletion failed: mPath= /video0/Bones_-_Die_Knochenj%E4gerin/2013-02-26.21.12.61-0.rec
    mReqId= 538 fd= 60 Destructor of cHttpResource called
    - Check Write: mActiveSessions= 0
    mReqId= 539 fd= 65 cHttpResource created
    + mActiveSessions= 1


    Grüße,


    Dirk

    Auch mit der neuen Version des Widgets bekomme ich bei der Anzeige der Recordings einen


    Error with XML-File:parserror


    obwohl nur ein Film im Ordner /video steht und ich alle anderen Filme in den Ordner old verschoben habe:


    pcneu:/privat # ls /video
    ca.conf commands.conf diseqc.conf epgimages keymacros.conf Nix_zu_verlieren old reccmds.conf received_data remote.conf.pcneu setup.conf svdrphosts.conf timercmds.conf
    channels.conf commands.conf. epg.data id3info.cache lost+found noadstat plugins reccmds.conf. remote.conf scr.conf sources.conf themes timers.conf


    In der Datei /tmp/smarttvweb.txt steht folgendes:


    mReqId= 28 fd= 59 mMethod= GET mPath= /widget.conf mVer= HTTP/1.1 mQuery= _=1360613552049
    User-Agent: Mozilla/5.0 (SmartHub; SMART-TV; U; Linux/SmartTV; Maple2012) AppleWebKit/534.7 (KHTML, like Gecko) SmartTV Safari/534.7
    mReqId= 28 fd= 5928 SendFile mPath= /var/lib/vdr/plugins/smarttvweb/widget.conf
    fd= 59 mReqId= 28 mFileSize= 336
    mReqId= 29 fd= 75 mMethod= GET mPath= /vdrstatus.xml mVer= HTTP/1.1 mQuery= _=1360613553508
    User-Agent: Mozilla/5.0 (SmartHub; SMART-TV; U; Linux/SmartTV; Maple2012) AppleWebKit/534.7 (KHTML, like Gecko) SmartTV Safari/534.7
    mReqId= 30 fd= 85 mMethod= GET mPath= /vdrstatus.xml mVer= HTTP/1.1 mQuery= _=1360613555199
    User-Agent: Mozilla/5.0 (SmartHub; SMART-TV; U; Linux/SmartTV; Maple2012) AppleWebKit/534.7 (KHTML, like Gecko) SmartTV Safari/534.7
    mReqId= 31 fd= 89 mMethod= GET mPath= /recordings.xml mVer= HTTP/1.1 mQuery= _=1360613555261
    User-Agent: Mozilla/5.0 (SmartHub; SMART-TV; U; Linux/SmartTV; Maple2012) AppleWebKit/534.7 (KHTML, like Gecko) SmartTV Safari/534.7
    mReqId= 31 fd= 89 checking avtive timer


    Grüße,


    Dirk

    Mit den aktuellen Änderungen läßt sich das Plugin nicht mehr übersetzen:



    make[1]: Entering directory `/backup/privat/tv/dvb/vdr-1.7.33/PLUGINS/src/vdr-plugin-upnp'
    g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"upnp"' -DPLUGINDIR=\"/usr/lib/vdr/plugins\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/backup/privat/tv/dvb/vdr-1.7.33/PLUGINS/src/vdr-plugin-upnp/../../../include -o server/contentDirectory.o server/contentDirectory.cpp
    server/contentDirectory.cpp: In member function 'int upnp::cContentDirectory::Browse(Upnp_Action_Request*)':
    server/contentDirectory.cpp:270:5: error: cannot pass objects of non-trivially-copyable type 'std::string {aka class std::basic_string<char>}' through '...'
    server/contentDirectory.cpp:270:5: warning: format '%s' expects argument of type 'char*', but argument 3 has type 'std::string {aka std::basic_string<char>}' [-Wformat]
    server/contentDirectory.cpp:288:5: error: cannot pass objects of non-trivially-copyable type 'std::string {aka class std::basic_string<char>}' through '...'
    server/contentDirectory.cpp:288:5: warning: format '%s' expects argument of type 'char*', but argument 3 has type 'std::string {aka std::basic_string<char>}' [-Wformat]
    server/contentDirectory.cpp:310:5: error: cannot pass objects of non-trivially-copyable type 'std::string {aka class std::basic_string<char>}' through '...'
    server/contentDirectory.cpp:310:5: warning: format '%s' expects argument of type 'char*', but argument 3 has type 'std::string {aka std::basic_string<char>}' [-Wformat]
    server/contentDirectory.cpp:318:5: error: cannot pass objects of non-trivially-copyable type 'std::string {aka class std::basic_string<char>}' through '...'
    server/contentDirectory.cpp:318:5: warning: format '%s' expects argument of type 'char*', but argument 3 has type 'std::string {aka std::basic_string<char>}' [-Wformat]
    make[1]: *** [server/contentDirectory.o] Error 1
    make[1]: Leaving directory `/backup/privat/tv/dvb/vdr-1.7.33/PLUGINS/src/vdr-plugin-upnp'



    Grüße,


    Dirk

    Hallo !


    Wie bekomme ich die FB meiner Hauppauge PVR350 und vdr 1.7.3x zum Laufen ?


    Die FB wird vom Kernel unter openSUSE 12.2 inkl. lirc 0.9.0 (aus dem GIT) erkannt.


    kernel: [ 1989.492225] input: i2c IR (Hauppauge WinTV PVR-350 as /devices/virtual/rc/rc1/input10
    kernel: [ 1989.492343] rc1: i2c IR (Hauppauge WinTV PVR-350 as /devices/virtual/rc/rc1
    kernel: [ 1989.492347] ir-kbd-i2c: i2c IR (Hauppauge WinTV PVR-350 detected at i2c-10/10-0018/ir0 [ivtv i2c driver #0]


    Lirc starte ich per


    /usr/sbin/lircd --driver=devinput --device=/dev/input/ir


    wobei /dev/input/ir auf das o.g. Device input10 verweist.


    U.a. ein paar Zeilen aus /etc/lirc/lircd.conf und /video/remote.conf !


    Egal welche Taste ich drücke, es passiert nix.


    Das gleiche Problem habe ich mit meiner pvrusb2 von Hauppauge.


    Mit meiner Hauppauge WinTV-HVR400 läuft alles problemlos.


    Grüße,


    Dirk


    begin remote


    name Hauppauge_350
    bits 13
    flags RC5|CONST_LENGTH
    eps 30
    aeps 100


    one 969 811
    zero 969 811
    plead 1097
    gap 114605
    toggle_bit 2


    begin codes
    Go 0x00000000000017BB
    Power 0x00000000000017BD
    TV 0x000000000000179C
    Videos 0x0000000000001798
    Music 0x0000000000001799
    Pictures 0x000000000000179A
    Guide 0x000000000000179B
    Radio 0x000000000000178C
    Up 0x0000000000001794
    Left 0x0000000000001796
    Right 0x0000000000001797
    Down 0x0000000000001795
    OK 0x00000000000017A5
    Back/Exit 0x000000000000179F
    Menu/i 0x000000000000178D
    Vol+ 0x0000000000001790
    Vol- 0x0000000000001791
    Prev.Ch 0x0000000000001792
    Mute 0x000000000000178F
    Ch+ 0x00000000000017A0
    Ch- 0x00000000000017A1
    Record 0x00000000000017B7
    Stop 0x00000000000017B6
    Rewind 0x00000000000017B2
    Play 0x00000000000017B5
    Forward 0x00000000000017B4
    Replay/SkipBackward 0x00000000000017A4
    Pause 0x00000000000017B0
    SkipForward 0x000000000000179E


    LIRC.Up Up
    LIRC.Down Down
    LIRC.Menu Menu/i
    LIRC.Back Back/Exit
    LIRC.Ok OK
    LIRC.Left Left
    LIRC.Right Right
    LIRC.Red Red
    LIRC.Green Green
    LIRC.Yellow Yellow
    LIRC.Blue Blue
    LIRC.0 0
    LIRC.1 1
    LIRC.2 2
    LIRC.3 3
    LIRC.4 4
    LIRC.5 5
    LIRC.6 6
    LIRC.7 7
    LIRC.8 8
    LIRC.9 9
    LIRC.Play Play
    LIRC.Pause Pause
    LIRC.Stop Stop
    LIRC.Record Record