Changeset 34869


Ignore:
Timestamp:
07/18/15 17:59:14 (9 years ago)
Author:
gost
Message:

[titan] nemesis.. record HDMI-in

Location:
titan/titan
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/pip.h

    r34750 r34869  
    451451        int hdmi = 0;
    452452        char* tmpstr = NULL;
    453         struct dvbdev *videonode = NULL;
    454         struct dvbdev *audionode = NULL;
    455453        struct channel* chnodeP = node->channel;
    456454        struct channel* chnodeT = status.aktservice->channel;
     
    486484                pipstop(node, 0);
    487485                servicestop(status.aktservice, 1, 1);
    488                 audionode = audioopen(0);
    489                 if(audionode != NULL)
    490                 {
    491                         audioselectsource(audionode, AUDIO_SOURCE_HDMI);
    492                         audioplay(audionode);
    493                 }
    494                 videonode = videoopen(0, 0);
    495                 if(videonode != NULL)
    496                 {
    497                         videoselectsource(videonode, VIDEO_SOURCE_HDMI);
    498                         videosetstreamtype(videonode, 0);
    499                         videoplay(videonode);
    500                 }
    501                 status.aktservice->videodev = videonode;
    502                 status.aktservice->audiodev = audionode;
    503                 status.aktservice->type = HDMIIN;
    504                 status.aktservice->channel = NULL;
     486                servicefullHDMIin_start();
    505487                pipstart(chnodeT, NULL, 0);
    506488                free(node->channellist);
  • titan/titan/record.h

    r34847 r34869  
    317317                        }
    318318                        encoderclose(node->encoderdev, -1);
     319                        printf("---- encoder closed\n");
    319320                }
    320321#endif
     
    940941        tmpstr = ostrcat(tmpstr, buf1, 1, 1);
    941942        tmpstr = ostrcat(tmpstr, ")", 1, 0);
    942         tmpstr = ostrcat(tmpstr, ".ts", 1, 0);
     943        if(ostrcmp(channelname, "HDMIIN") == 0)
     944                tmpstr = ostrcat(tmpstr, ".mpeg", 1, 0);
     945        else
     946                tmpstr = ostrcat(tmpstr, ".ts", 1, 0);
    943947
    944948        return tmpstr;
     
    971975        }
    972976
    973         if(filefd < 0)
     977        //hdmi record.. serviceid=65535
     978        if(filefd < 0 && chnode->serviceid != 65535)
    974979        {
    975980                tpnode = chnode->transponder;
     
    980985                }
    981986        }
     987       
    982988
    983989        switch(type)
     
    991997                        fd = recordfd;
    992998                        break;
    993                                 case RECSTREAMENC:
     999                case RECSTREAMENC:
    9941000                        servicetype = RECORDSTREAM;
    9951001                        fd = recordfd;
     
    11101116        if(rectimernode != NULL) servicenode->rectimestamp = ostrcat(rectimernode->timestamp, NULL, 0, 0);
    11111117
    1112         if(filefd < 0)
     1118        if(filefd < 0 && chnode->serviceid != 65535)
    11131119        {
    11141120                //got frontend dev
     
    13221328                }
    13231329        }
    1324 
     1330#ifdef MIPSEL
     1331        else if(chnode->serviceid == 65535)
     1332        {
     1333                ret = encoderset(-1, 1, 1024*1024*8, 1280, 720, 25000, 0, 0);
     1334                ret = 0;
     1335                encnode = encoderopen(0);
     1336                servicenode->encoderdev = encnode;
     1337               
     1338                videonode = videoopen(0, encnode->decoder);
     1339                servicenode->videodev = videonode;
     1340                videoselectsource(servicenode->videodev, VIDEO_SOURCE_HDMI);
     1341                videoplay(servicenode->videodev);
     1342
     1343                audionode = audioopen(encnode->decoder);
     1344                servicenode->audiodev = audionode;
     1345                audioselectsource(servicenode->audiodev, AUDIO_SOURCE_HDMI);
     1346                audioplay(servicenode->audiodev);
     1347
     1348                encnode->fd = encoderopendirect(encnode->dev);
     1349                servicenode->recdmxstart = 1;
     1350                servicenode->recsrcfd = encnode->fd;
     1351        }
     1352#endif
     1353               
    13251354        if(rectimernode != NULL)
    13261355                rectimernode->servicenode = servicenode;
     
    13601389                if(VFD_Recordthread == NULL && getconfigint("vfdisplayrecord", NULL) != 0)
    13611390                        VFD_Recordthread = addtimer(&vfdrecordthread, START, 10000, 1, NULL, NULL, NULL);
     1391#ifdef MIPSEL
     1392                if(chnode->serviceid == 65535)
     1393                        servicenode->recsrcfd = encnode->fd;
     1394#endif
    13621395        }
    13631396
     
    15831616                servicenode = servicenode->next;
    15841617        }
    1585 
    1586         addmenulist(&mlist, _("add recording (stop after current event)"), NULL, NULL, 0, 0);
     1618        //65535 gleich HDMIIN
     1619        if(status.aktservice->channel->serviceid != 65535)
     1620                addmenulist(&mlist, _("add recording (stop after current event)"), NULL, NULL, 0, 0);
    15871621        addmenulist(&mlist, _("add recording (indefinitely)"), NULL, NULL, 0, 0);
    15881622        addmenulist(&mlist, _("add recording (enter duration)"), NULL, NULL, 0, 0);
Note: See TracChangeset for help on using the changeset viewer.