fixed for v4l2 captures, add colormodel uyuv
[goodguy/history.git] / cinelerra-5.0 / cinelerra / vdevicev4l2.C
index 49c233405adc285353624e2853358b2a9b66530f..c2ca9e97bb4df6b057253759d1830a1bd93ee094 100644 (file)
@@ -52,8 +52,15 @@ int VDeviceV4L2::open_input()
        int result = get_sources();
        if( !result )
        {
-               device->channel->use_frequency = 1;
-               device->channel->use_fine = 1;
+               ArrayList<Channel*> *inputs = device->get_inputs();
+               for( int i=0; i<inputs->size(); ++i ) {
+                       if( inputs->get(i)->tuner ) {
+                               device->channel->use_frequency = 1;
+                               device->channel->use_fine = 1;
+                       }
+                       else
+                               device->channel->use_input = 1;
+               }
        }
        return result;
 }
@@ -99,7 +106,7 @@ int VDeviceV4L2::read_buffer(VFrame *frame)
                        VFrame *buffer = device_buffer(bfr);
 //printf("VDeviceV4L2::read_buffer %d %p %p\n", 
 //  __LINE__, frame->get_data(), buffer->get_data());
-                       frame->copy_from(buffer);
+                       frame->transfer_from(buffer);
                        put_buffer(bfr);
                }
                else