aaa
This commit is contained in:
		
							parent
							
								
									6f9d17fad5
								
							
						
					
					
						commit
						6d75615e1d
					
				@ -174,8 +174,6 @@ static void gsr_capture_kms_vaapi_tick(gsr_capture *cap, AVCodecContext *video_c
 | 
				
			|||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        VASurfaceID target_surface_id = (uintptr_t)(*frame)->data[3];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        VAStatus va_status = vaCreateConfig(cap_kms->va_dpy, VAProfileNone, VAEntrypointVideoProc, NULL, 0, &cap_kms->config_id);
 | 
					        VAStatus va_status = vaCreateConfig(cap_kms->va_dpy, VAProfileNone, VAEntrypointVideoProc, NULL, 0, &cap_kms->config_id);
 | 
				
			||||||
        if(va_status != VA_STATUS_SUCCESS) {
 | 
					        if(va_status != VA_STATUS_SUCCESS) {
 | 
				
			||||||
            fprintf(stderr, "gsr error: gsr_capture_kms_vaapi_tick: vaCreateConfig failed: %d\n", va_status);
 | 
					            fprintf(stderr, "gsr error: gsr_capture_kms_vaapi_tick: vaCreateConfig failed: %d\n", va_status);
 | 
				
			||||||
@ -183,14 +181,6 @@ static void gsr_capture_kms_vaapi_tick(gsr_capture *cap, AVCodecContext *video_c
 | 
				
			|||||||
            cap_kms->stop_is_error = true;
 | 
					            cap_kms->stop_is_error = true;
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					 | 
				
			||||||
        va_status = vaCreateContext(cap_kms->va_dpy, cap_kms->config_id, cap_kms->kms_size.x, cap_kms->kms_size.y, VA_PROGRESSIVE, &target_surface_id, 1, &cap_kms->context_id);
 | 
					 | 
				
			||||||
        if(va_status != VA_STATUS_SUCCESS) {
 | 
					 | 
				
			||||||
            fprintf(stderr, "gsr error: gsr_capture_kms_vaapi_tick: vaCreateContext failed: %d\n", va_status);
 | 
					 | 
				
			||||||
            cap_kms->should_stop = true;
 | 
					 | 
				
			||||||
            cap_kms->stop_is_error = true;
 | 
					 | 
				
			||||||
            return;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -235,6 +225,19 @@ static int gsr_capture_kms_vaapi_capture(gsr_capture *cap, AVFrame *frame) {
 | 
				
			|||||||
        cap_kms->kms_size.x = kms_response.data.fd.width;
 | 
					        cap_kms->kms_size.x = kms_response.data.fd.width;
 | 
				
			||||||
        cap_kms->kms_size.y = kms_response.data.fd.height;
 | 
					        cap_kms->kms_size.y = kms_response.data.fd.height;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static bool cc = false;
 | 
				
			||||||
 | 
					        if(!cc) {
 | 
				
			||||||
 | 
					            cc = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            VAStatus va_status = vaCreateContext(cap_kms->va_dpy, cap_kms->config_id, cap_kms->kms_size.x, cap_kms->kms_size.y, VA_PROGRESSIVE, &target_surface_id, 1, &cap_kms->context_id);
 | 
				
			||||||
 | 
					            if(va_status != VA_STATUS_SUCCESS) {
 | 
				
			||||||
 | 
					                fprintf(stderr, "gsr error: gsr_capture_kms_vaapi_capture: vaCreateContext failed: %d\n", va_status);
 | 
				
			||||||
 | 
					                cap_kms->should_stop = true;
 | 
				
			||||||
 | 
					                cap_kms->stop_is_error = true;
 | 
				
			||||||
 | 
					                return -1;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(cap_kms->buffer_id) {
 | 
					        if(cap_kms->buffer_id) {
 | 
				
			||||||
            vaDestroyBuffer(cap_kms->va_dpy, cap_kms->buffer_id);
 | 
					            vaDestroyBuffer(cap_kms->va_dpy, cap_kms->buffer_id);
 | 
				
			||||||
            cap_kms->buffer_id = 0;
 | 
					            cap_kms->buffer_id = 0;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user