projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed for v4l2 captures, add colormodel uyuv
[goodguy/history.git]
/
cinelerra-5.0
/
cinelerra
/
vdevicev4l2.C
diff --git
a/cinelerra-5.0/cinelerra/vdevicev4l2.C
b/cinelerra-5.0/cinelerra/vdevicev4l2.C
index 49c233405adc285353624e2853358b2a9b66530f..c2ca9e97bb4df6b057253759d1830a1bd93ee094 100644
(file)
--- a/
cinelerra-5.0/cinelerra/vdevicev4l2.C
+++ b/
cinelerra-5.0/cinelerra/vdevicev4l2.C
@@
-52,8
+52,15
@@
int VDeviceV4L2::open_input()
int result = get_sources();
if( !result )
{
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;
}
}
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());
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
put_buffer(bfr);
}
else