Ticket #1842: cn400.diff
File cn400.diff, 3.8 KB (added by , 18 years ago) |
---|
-
libs/libmythtv/NuppelVideoPlayer.cpp
84 84 #endif 85 85 86 86 #define FAST_RESTART 0 87 88 #define MIN_USLEEP ((1000000 / 1000) + 500) 89 87 90 #define LOC QString("NVP: ") 88 91 #define LOC_ERR QString("NVP, Error: ") 89 92 … … 3103 3106 // If mythyv/mythfrontend was installed SUID root, this will work. 3104 3107 #ifndef CONFIG_DARWIN 3105 3108 gContext->addPrivRequest(MythPrivRequest::MythRealtime, &output_video); 3106 #endif3107 3109 3108 3110 // Use realtime prio for decoder thread as well 3109 //gContext->addPrivRequest(MythPrivRequest::MythRealtime, &decoder_thread);3110 } 3111 gContext->addPrivRequest(MythPrivRequest::MythRealtime, &decoder_thread); 3112 #endif 3111 3113 3114 } 3115 3112 3116 if (bookmarkseek > 30) 3113 3117 { 3114 3118 GetFrame(audioOutput == NULL || !normal_speed); -
libs/libmythtv/videoout_xv.cpp
695 695 myth2av_codecid(myth_codec_id, vld, idct, mc); 696 696 697 697 if (vld) 698 xvmc_buf_attr->SetNumSurf(1 6);698 xvmc_buf_attr->SetNumSurf(12); 699 699 700 700 vbuffers.Init(xvmc_buf_attr->GetNumSurf(), 701 701 false /* create an extra frame for pause? */, … … 1358 1358 XvMCContext *ctx = new XvMCContext; 1359 1359 X11S(ret = XvMCCreateContext(disp, port, surf_type, width, height, 1360 1360 XVMC_DIRECT, ctx)); 1361 1362 VERBOSE(VB_PLAYBACK, LOC + QString("XvMCCreateContext: '%1'") 1363 .arg(ret)); 1364 1361 1365 if (ret != Success) 1362 1366 { 1363 1367 VERBOSE(VB_IMPORTANT, LOC_ERR + … … 1397 1401 1398 1402 bool createBlocks = !(XVMC_VLD == (xvmc_surf_info.mc_type & XVMC_VLD)); 1399 1403 xvmc_surfs = CreateXvMCSurfaces(xvmc_buf_attr->GetMaxSurf(), createBlocks); 1404 1405 VERBOSE(VB_PLAYBACK, LOC + QString("Num surfaces: '%1'") 1406 .arg(xvmc_surfs.size())); 1407 1400 1408 if (xvmc_surfs.size() < xvmc_buf_attr->GetMinSurf()) 1401 1409 { 1402 1410 VERBOSE(VB_IMPORTANT, LOC_ERR + "Unable to create XvMC Surfaces"); -
libs/libmythtv/util-xvmc.h
53 53 num_xvmc_surf(1), 54 54 needed_for_display(1), 55 55 min_num_xvmc_surfaces(8), 56 max_num_xvmc_surfaces(1 6),56 max_num_xvmc_surfaces(12), 57 57 num_xvmc_surfaces(min_num_xvmc_surfaces), 58 aggressive( false) {}58 aggressive(true) {} 59 59 60 60 void SetOSDNum(uint val) 61 61 { -
programs/mythfrontend/main.cpp
695 695 .arg(getuid()).arg(geteuid())); 696 696 697 697 (void)data; 698 699 int thread_prio = 1; 700 698 701 while (true) 699 702 { 700 703 gContext->waitPrivRequest(); … … 710 713 { 711 714 pthread_t *target_thread = (pthread_t *)(req.getData()); 712 715 // Raise the given thread to realtime priority 713 struct sched_param sp = {1}; 716 struct sched_param sp = {thread_prio}; 717 thread_prio++; 714 718 if (target_thread) 715 719 { 716 720 int status = pthread_setschedparam( 717 *target_thread, SCHED_ FIFO, &sp);721 *target_thread, SCHED_RR, &sp); 718 722 if (status) 719 723 { 720 724 // perror("pthread_setschedparam");