06/15/2009 8:36 AM
Re: RE: Question about the return value if the connected iPod doesn't suport the certain Aviage API function calls
> I don't have the code in front of me at the moment, but the usual error for
> this sort of case would be ENOTSUP.
> That said, you will probably not see an error with
> mme_metadata_getinfo_current(); this function will likely just return the
> metadata without any images specified. Using mme_metadata_image_load() would
> then be invalid because there would be no image index for the associated
> metadata that is returned. (For this case the error may be EINVAL, but I'd
> have to check to say for sure.)
Ryan is correct. The iPod driver will return ENOTSUP to most calls which are unable to complete due to firmwire versions
. Some examples are cover art, getting composer information, HD Radio tagging, etc..
But when called through the MME, these errnos may be lost in some cases. For example, when it comes to metadata (i.e.
mme_metadata_getinfo_currnet()) there may be more than one provide of the information, so the MME queries a series of
plugins to try and retrieve the data. Just because the mediafs (i.e. iPod) plugin can't provide any artwork, it doesn't
mean some other plugin (external DB like Gracenote, or some kind of online lookup) can't provide cover art based on the
album info, so the iPod errno will be lost in this process.