Changeset 31700


Ignore:
Timestamp:
12/13/14 20:54:55 (8 years ago)
Author:
gost
Message:

[titan] nemesis.. add transcode function

Location:
titan/titan
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/record.h

    r31663 r31700  
    305305                {
    306306                        if(node->videodev != NULL)
     307                        {
    307308                                videostop(node->videodev, 1);
     309                                videoclose(node->videodev, -1);
     310                                dmxclose(node->dmxvideodev, -1);
     311                        }
    308312                        if(node->audiodev != NULL)
     313                        {
    309314                                audiostop(node->audiodev);
     315                                audioclose(node->audiodev, -1);
     316                                dmxclose(node->dmxaudiodev, -1);
     317                        }
     318                        encoderclose(node->encoderdev, -1);
    310319                }
    311320#endif
     
    535544                }
    536545        }
    537        
    538 #ifdef MIPSEL
    539         if(servicenode->encoderdev != NULL)
    540         {
    541                 if(servicenode->videodev != NULL)
    542                 {
    543                         dmxstart(servicenode->dmxvideodev);
    544                 }
    545                 if(servicenode->audiodev != NULL)
    546                 {
    547                         dmxstart(servicenode->dmxaudiodev);
    548                 }
    549                 servicenode->recdmxstart = 1;
    550         }
    551 #endif 
    552        
    553546       
    554547        if(servicenode->recdmxstart == 0)
     
    11401133                        if(type == RECSTREAMENC)
    11411134                        {
    1142                                 dmxstop(dmxnode);
     1135                               
    11431136                                dmxclose(dmxnode, -1);
    1144                                 dmxnode = NULL;
    1145                                 servicenode->dmxaudiodev = dmxopen(fenode);
    1146                                 servicenode->dmxvideodev = dmxopen(fenode);
    1147                                 dmxstop(servicenode->dmxvideodev);
    1148                                 dmxstop(servicenode->dmxaudiodev);
    1149                                
     1137
    11501138                                encnode = encoderopen(1);
    11511139                                servicenode->encoderdev = encnode;
    1152 
     1140                               
     1141                                servicenode->dmxaudiodev = dmxopen(fenode);
     1142                                dmxsetbuffersize(servicenode->dmxaudiodev, getconfigint("dmxaudiobuffersize", NULL));
     1143                                dmxsetsource(servicenode->dmxaudiodev, fenode->fedmxsource);
    11531144                                switch(encnode->decoder)
    11541145                                {
    1155                                         case 2: dmxsetpesfilter(servicenode->dmxaudiodev, chnode->audiopid, input, DMX_OUT_DECODER, DMX_PES_AUDIO2, 0); break;
    1156                                         case 3: dmxsetpesfilter(servicenode->dmxaudiodev, chnode->audiopid, input, DMX_OUT_DECODER, DMX_PES_AUDIO3, 0); break;
    1157                                 }
    1158                                                                
    1159                                 switch(encnode->decoder)
    1160                                 {
    1161                                         case 2: dmxsetpesfilter(servicenode->dmxvideodev, chnode->videopid, input, DMX_OUT_DECODER, DMX_PES_VIDEO2, 0); break;
    1162                                         case 3: dmxsetpesfilter(servicenode->dmxvideodev, chnode->videopid, input, DMX_OUT_DECODER, DMX_PES_VIDEO3, 0); break;
    1163                                 }
    1164                                                
    1165                                
     1146                                        case 2: dmxsetpesfilter(servicenode->dmxaudiodev, chnode->audiopid, -1, DMX_OUT_DECODER, DMX_PES_AUDIO2, 0); break;
     1147                                        case 3: dmxsetpesfilter(servicenode->dmxaudiodev, chnode->audiopid, -1, DMX_OUT_DECODER, DMX_PES_AUDIO3, 0); break;
     1148                                }
     1149                                usleep(1000);   
     1150
    11661151                                audionode = audioopen(encnode->decoder);
    11671152                                servicenode->audiodev = audionode;
    11681153                                audioselectsource(servicenode->audiodev, AUDIO_SOURCE_DEMUX);
     1154                                audiosetbypassmode(servicenode->audiodev, 1);
    11691155                                audioplay(servicenode->audiodev);
     1156               
     1157                                servicenode->dmxvideodev = dmxopen(fenode);
     1158                                dmxsetbuffersize(servicenode->dmxvideodev, getconfigint("dmxvideobuffersize", NULL));
     1159                                dmxsetsource(servicenode->dmxvideodev, fenode->fedmxsource);
    11701160                               
     1161                                switch(encnode->decoder)
     1162                                {
     1163                                        case 2: dmxsetpesfilter(servicenode->dmxvideodev, chnode->videopid, -1, DMX_OUT_DECODER, DMX_PES_VIDEO2, 0); break;
     1164                                        case 3: dmxsetpesfilter(servicenode->dmxvideodev, chnode->videopid, -1, DMX_OUT_DECODER, DMX_PES_VIDEO3, 0); break;
     1165                                }
    11711166                               
    11721167                                videonode = videoopen(0, encnode->decoder);
    11731168                                servicenode->videodev = videonode;
    11741169                                videoselectsource(servicenode->videodev, VIDEO_SOURCE_DEMUX);
     1170                                setencoding(chnode, servicenode->videodev);
    11751171                                videoplay(servicenode->videodev);
    1176                                
    1177                                 audiostop(servicenode->audiodev);
    1178                                 audioplay(servicenode->audiodev);
    1179 
    1180 
     1172                                 
     1173                                servicenode->recdmxstart = 1;
    11811174                        }
    11821175                        else
  • titan/titan/titan.c

    r31677 r31700  
    849849        ret = scgetdev();
    850850#ifdef MIPSEL
    851         //ret = encodergetdev();
     851        if(checkbox("ATEMIO-NEMESIS") == 1)
     852                ret = encodergetdev();
    852853#endif
    853854
Note: See TracChangeset for help on using the changeset viewer.