| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Documents the use of GP_CAMLIB_SET on the make command line.
Setting CAMLIBS= on the make command line to specify the set of
camlibs to be built and installed has not worked at least since
the introduction of GP_CAMLIB_SET.
|
|
|
|
| |
might help https://github.com/gphoto/libgphoto2/issues/693
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
https://github.com/gphoto/libgphoto2/issues/677
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| | |
The Canon EOS R6 has two additional ISO values that were not supported before: 64000 and 80000.
|
| |
| |
| |
| | |
https://github.com/gphoto/libgphoto2/issues/677
|
|/ |
|
|
|
|
| |
Closes: https://github.com/gphoto/libgphoto2/pull/320
|
|
|
|
|
|
|
| |
As 4316f75ed4ce7a4ae5296264699665631c4e62d6 has removed gp2ddb
with its use of flex and bison, we do not need flex and bison
any more, and so the github workflows do not need to install
flex and bison either.
|
|
|
|
|
| |
It's present in the `autoexposuremode` when the mode dial is set to
Movie and the HDR movie mode is enabled via the camera menu.
|
|
|
|
|
|
|
|
|
| |
I picked C2 and C3 while the existing one is called "Custom"; I think
the naming is a bit ad hoc (full words like "Manual" and "Bulb" vs.
all-caps abbreviations "AV" and "TV" vs. "Fv" which is spelt as-is on
the mode dial).
Tested on EOS RP, 5Div and 5Diii.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This supports just the Enabled/Disabled choices as defined in the camera
menu (on RP, Menu -> Shooting -> 5 -> Movie Servo AF). Even when active,
the servo AF can be suspended by tapping the LCD screen at the bottom
left corner with a green "SERVO AF" button; I do not see any PTP
property getting changed upon suspend/resume.
Tested on EOS RP and on 5Div.
Related-bug: #700
|
|
|
|
|
|
|
|
|
|
| |
Use AC_SEARCH_LIBS to find whether mmap(2) in the standard
library, or whether using mmap(2) requires linking against
libmman.
This avoids conditionally calling/expanding AM_CONDITIONAL
which autoreconf (rightly) complains about. This also uses
proper m4 quoting in all m4 macro arguments.
|
|
|
|
| |
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
My wife's EOS RP (FW 1.4.0) always reports the lens' lowest aperture
unless we apply the same special handling which is enabled for
`olcver == 0x13` (apparently, EOS R5). Tested with RF 35/1.8, and also
on 5Div + Sigma 35 Art (to check a possible regression).
This reverts commit 5bf98e7f09e82d0e27f41a8df4ccb10e5feb6944 (and fixes
a comment so that it more accurately reflects what's going on). I'm a
bit nervous about this because that commit looks like it was explicitly
designed to do the exact opposite of this one, but perhaps it was just
to be extra cautious?
|
|
|
|
| |
not seem to be right.
|
| |
|
|
|
| |
Without this, camera abilities would report a6600 as not having "trigger capture" even though it works on practice.
|
|
|
|
| |
ptp_free_objectinfo, see https://github.com/gphoto/libgphoto2/issues/690
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I've noticed consistent memory increase while streaming preview from a Sony camera. Building with `-fsanitize=leak` revealed that the leak is coming from `strdup <- ptp_unpack_string <- ptp_unpack_OI <- ptp_getobjectinfo`.
Apparently, `PTPObjectInfo` contains heap-allocated strings for `Filename` & `Keywords`, and so `ptp_free_objectinfo` always must be called on the `ptp_getobjectinfo` results.
That all sounds good, but what seriously worries me is that, after fixing this particular codepath for PTP_VENDOR_SONY, I've searched for other usages of `ptp_getobjectinfo`, and majority of them don't ever call `ptp_free_objectinfo` on the result.
That is, there's probably tons of other leaks out there for various cameras just out of this single call, and someone needs to go through all those usages and fix them one by one. While it might be a simple refactoring, it requires great care and I'm not ready to invest into it especially when there's no way of testing the result with other camera models.
Perhaps a more systematic fix is necessary - for example, `PTPObjectInfo` could be changed to contain fixed-length char arrays and sidestep this problem altogether.
More generally, it might be also worth running GPhoto's tests with address & leak sanitizers enabled to detect all such similar problems.
|
|
|
|
| |
fixes https://github.com/gphoto/libgphoto2/issues/684
|
| |
|
|
|
|
|
|
|
|
| |
Apparently Sony reports shutter speeds that are integer seconds as "300/10", "250/10", "200/10" etc. This happens both on Sony a6600 I currently have as well as I can see this when searching for 0xd229 among camlibs/sony-*.txt - that is, even models with enums use this format.
Interestigly, setting shutter speeds accept either form, so what happened is you could set shutter speed to e.g. "5" and camera would change it, but then camera would report back "50/10" which is no longer valid value for the shutter speed widget.
This PR normalizes all such shutter speeds to their integer form, so that "5" would be reported back as well in such scenario.
|
|
|
| |
Apparently GP_MIME_ARW was already there just unused in the function.
|
| |
|
|
|
|
|
|
| |
Without this, widgets for things like "Serial Number", "Manufacturer", "Battery level" etc. would be created as writable, even though they are not.
It it possible to special case them in GUI frontends when rendering (e.g. by making everything under "status" section readonly anyway), but it seems better to return correct readonly status for such properties from libgphoto2 itself.
|
|
|
|
|
|
|
|
| |
Overshoot logic was always comparing values to determine if the desired target has been overshot. However, in case of enums this didn't work correctly, since enum values are not guaranteed to be in the sorted order.
For example, "Auto ISO Multi Frame Noise Reduction" has a higher numerical value than, say, "ISO 400 Multi Frame Noise Reduction" but comes earlier in the enum list, so trying to go from "ISO 102400" to "ISO 400 Mutli Frame Noise Reduction" would stop at "Auto ISO Multi Frame Noise Reduction" thinking that the value has been overshot and can't go any further.
This PR fixes the logic to use enum index for overshot comparisons instead when `useenumorder` is enabled.
|
|
|
|
| |
https://github.com/gphoto/libgphoto2/pull/676
|
|
|
|
|
|
| |
An example where I ran into this: Sony a6600 reports values [25, 50, 64, 80, 100, 125, 160, 200, 250, 320, 400, ...] as supported with Multi Frame Noise Reduction. However, among those values the camera only allows selecting between [100, 200, 400].
As a result, switching even between valid values - say, ISO 100 with MFNR and ISO 3200 without MFNR - was calculating incorrect offset, overshooting in one direction, calculating new incorrect offset, overshooting in another direction, and so on leading to an infinite loop.
|
|
|
|
|
| |
- Add support for distinguishing Standard vs High modes for Multi Frame Noise Reduction. Previously those would be rendered as separate options with the same name, making it impossible to choose the correct one or switch from one to another. Now the high mode is indicated by the `+` suffix.
- Fix higher ISO values for MFNR too. Previously a mask 0xffff was used, which was incorrect and didn't cover higher ISO values. Instead, base ISO should be read with 0x00ff_ffff mask, and the highest byte then indicates the MFNR mode (0 for disabled, 1 for Standard, 2 for High). This also simplifies the logic for Auto ISO, since it's correctly covered by the updated mask.
|
| |
|
|
|
|
|
|
|
| |
https://github.com/gphoto/libgphoto2/commit/6c26cdc5b0b8f177bb0d74ea93c8f0d45afb3a09 adjusted `jpgStartPtr` to start after an offset if such is found in the initial blob.
The following `memchr` call was changed to use the adjusted `jpgStartPtr` pointer, but the size parameter was never changed, in theory allowing `memchr` to search in the garbage area past the allocation.
On practice this shouldn't matter because during the previous adjustment it's checked that the following bytes are indeed 0xFF 0xD8 so memchr loop should stop right away, but 1) in theory vectorized memchr might try to read more if it thinks there's enough data to parallelise operations, 2) this can be error-prone in the future and 3) I actually ran into an issue here in combination with a buggy `memchr` implementation in one compiler (which is, admittedly, unrelated issue and I reported it separately).
|
| |
|
|
|
|
| |
fioxes https://github.com/gphoto/libgphoto2/issues/665
|
| |
|
|
|
|
|
|
|
|
| |
At least Epson PhotoPC 500 with firmware v22-75 responds with 0x18 to the
"folder support". This is not recognized as a valid response, resulting in
retries and delay.
Add SIERRA_PACKET_CANCEL (0x18) and recognize it as valid reject response.
|
|
|
|
|
|
|
|
|
|
|
| |
At least Epson PhotoPC 500 with firmware v22-75 fails to work above
38400bps - all commands time out. Seems that we're sending data too
fast (and there's no flow control).
Do the same thing as Windows driver: when the first command (reading
register 1) times out after 500ms, switch to writing one byte at a time.
Maybe this could also fix cameras that use SIERRA_LOW_SPEED or SIERRA_MID_SPEED now?
|
| |
|
| |
|