diff options
Diffstat (limited to 'media')
-rw-r--r-- | media/libmediaplayerservice/MediaPlayerFactory.cpp | 22 | ||||
-rw-r--r-- | media/libmediaplayerservice/MediaPlayerFactory.h | 26 | ||||
-rw-r--r-- | media/libmediaplayerservice/MetadataRetrieverClient.cpp | 2 | ||||
-rw-r--r-- | media/libmediaplayerservice/MidiFile.h | 8 | ||||
-rw-r--r-- | media/mtp/MtpServer.cpp | 65 |
5 files changed, 71 insertions, 52 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerFactory.cpp b/media/libmediaplayerservice/MediaPlayerFactory.cpp index 9b239b1..e9c5e8e 100644 --- a/media/libmediaplayerservice/MediaPlayerFactory.cpp +++ b/media/libmediaplayerservice/MediaPlayerFactory.cpp @@ -176,11 +176,11 @@ sp<MediaPlayerBase> MediaPlayerFactory::createPlayer( class StagefrightPlayerFactory : public MediaPlayerFactory::IFactory { public: - virtual float scoreFactory(const sp<IMediaPlayer>& client, + virtual float scoreFactory(const sp<IMediaPlayer>& /*client*/, int fd, int64_t offset, - int64_t length, - float curScore) { + int64_t /*length*/, + float /*curScore*/) { char buf[20]; lseek(fd, offset, SEEK_SET); read(fd, buf, sizeof(buf)); @@ -203,7 +203,7 @@ class StagefrightPlayerFactory : class NuPlayerFactory : public MediaPlayerFactory::IFactory { public: - virtual float scoreFactory(const sp<IMediaPlayer>& client, + virtual float scoreFactory(const sp<IMediaPlayer>& /*client*/, const char* url, float curScore) { static const float kOurScore = 0.8; @@ -235,9 +235,9 @@ class NuPlayerFactory : public MediaPlayerFactory::IFactory { return 0.0; } - virtual float scoreFactory(const sp<IMediaPlayer>& client, - const sp<IStreamSource> &source, - float curScore) { + virtual float scoreFactory(const sp<IMediaPlayer>& /*client*/, + const sp<IStreamSource>& /*source*/, + float /*curScore*/) { return 1.0; } @@ -249,7 +249,7 @@ class NuPlayerFactory : public MediaPlayerFactory::IFactory { class SonivoxPlayerFactory : public MediaPlayerFactory::IFactory { public: - virtual float scoreFactory(const sp<IMediaPlayer>& client, + virtual float scoreFactory(const sp<IMediaPlayer>& /*client*/, const char* url, float curScore) { static const float kOurScore = 0.4; @@ -280,7 +280,7 @@ class SonivoxPlayerFactory : public MediaPlayerFactory::IFactory { return 0.0; } - virtual float scoreFactory(const sp<IMediaPlayer>& client, + virtual float scoreFactory(const sp<IMediaPlayer>& /*client*/, int fd, int64_t offset, int64_t length, @@ -318,9 +318,9 @@ class SonivoxPlayerFactory : public MediaPlayerFactory::IFactory { class TestPlayerFactory : public MediaPlayerFactory::IFactory { public: - virtual float scoreFactory(const sp<IMediaPlayer>& client, + virtual float scoreFactory(const sp<IMediaPlayer>& /*client*/, const char* url, - float curScore) { + float /*curScore*/) { if (TestPlayerStub::canBeUsed(url)) { return 1.0; } diff --git a/media/libmediaplayerservice/MediaPlayerFactory.h b/media/libmediaplayerservice/MediaPlayerFactory.h index fe8972b..5ddde19 100644 --- a/media/libmediaplayerservice/MediaPlayerFactory.h +++ b/media/libmediaplayerservice/MediaPlayerFactory.h @@ -29,19 +29,19 @@ class MediaPlayerFactory { public: virtual ~IFactory() { } - virtual float scoreFactory(const sp<IMediaPlayer>& client, - const char* url, - float curScore) { return 0.0; } - - virtual float scoreFactory(const sp<IMediaPlayer>& client, - int fd, - int64_t offset, - int64_t length, - float curScore) { return 0.0; } - - virtual float scoreFactory(const sp<IMediaPlayer>& client, - const sp<IStreamSource> &source, - float curScore) { return 0.0; } + virtual float scoreFactory(const sp<IMediaPlayer>& /*client*/, + const char* /*url*/, + float /*curScore*/) { return 0.0; } + + virtual float scoreFactory(const sp<IMediaPlayer>& /*client*/, + int /*fd*/, + int64_t /*offset*/, + int64_t /*length*/, + float /*curScore*/) { return 0.0; } + + virtual float scoreFactory(const sp<IMediaPlayer>& /*client*/, + const sp<IStreamSource> &/*source*/, + float /*curScore*/) { return 0.0; } virtual sp<MediaPlayerBase> createPlayer() = 0; }; diff --git a/media/libmediaplayerservice/MetadataRetrieverClient.cpp b/media/libmediaplayerservice/MetadataRetrieverClient.cpp index a91b0e5..fa28451 100644 --- a/media/libmediaplayerservice/MetadataRetrieverClient.cpp +++ b/media/libmediaplayerservice/MetadataRetrieverClient.cpp @@ -57,7 +57,7 @@ MetadataRetrieverClient::~MetadataRetrieverClient() disconnect(); } -status_t MetadataRetrieverClient::dump(int fd, const Vector<String16>& args) const +status_t MetadataRetrieverClient::dump(int fd, const Vector<String16>& /*args*/) const { const size_t SIZE = 256; char buffer[SIZE]; diff --git a/media/libmediaplayerservice/MidiFile.h b/media/libmediaplayerservice/MidiFile.h index 12802ba..82e4e88 100644 --- a/media/libmediaplayerservice/MidiFile.h +++ b/media/libmediaplayerservice/MidiFile.h @@ -38,7 +38,7 @@ public: virtual status_t setDataSource(int fd, int64_t offset, int64_t length); virtual status_t setVideoSurfaceTexture( - const sp<IGraphicBufferProducer>& bufferProducer) + const sp<IGraphicBufferProducer>& /*bufferProducer*/) { return UNKNOWN_ERROR; } virtual status_t prepare(); virtual status_t prepareAsync(); @@ -53,13 +53,13 @@ public: virtual status_t reset(); virtual status_t setLooping(int loop); virtual player_type playerType() { return SONIVOX_PLAYER; } - virtual status_t invoke(const Parcel& request, Parcel *reply) { + virtual status_t invoke(const Parcel& /*request*/, Parcel* /*reply*/) { return INVALID_OPERATION; } - virtual status_t setParameter(int key, const Parcel &request) { + virtual status_t setParameter(int /*key*/, const Parcel &/*request*/) { return INVALID_OPERATION; } - virtual status_t getParameter(int key, Parcel *reply) { + virtual status_t getParameter(int /*key*/, Parcel* /*reply*/) { return INVALID_OPERATION; } diff --git a/media/mtp/MtpServer.cpp b/media/mtp/MtpServer.cpp index 157f2ce..3892fb1 100644 --- a/media/mtp/MtpServer.cpp +++ b/media/mtp/MtpServer.cpp @@ -325,6 +325,14 @@ bool MtpServer::handleRequest() { mSendObjectHandle = kInvalidObjectHandle; } + int containertype = mRequest.getContainerType(); + if (containertype != MTP_CONTAINER_TYPE_COMMAND) { + ALOGE("wrong container type %d", containertype); + return false; + } + + ALOGV("got command %s (%x)", MtpDebug::getOperationCodeName(operation), operation); + switch (operation) { case MTP_OPERATION_GET_DEVICE_INFO: response = doGetDeviceInfo(); @@ -415,7 +423,8 @@ bool MtpServer::handleRequest() { response = doEndEditObject(); break; default: - ALOGE("got unsupported command %s", MtpDebug::getOperationCodeName(operation)); + ALOGE("got unsupported command %s (%x)", + MtpDebug::getOperationCodeName(operation), operation); response = MTP_RESPONSE_OPERATION_NOT_SUPPORTED; break; } @@ -950,22 +959,28 @@ MtpResponseCode MtpServer::doSendObject() { fchmod(mfr.fd, mFilePermission); umask(mask); - if (initialData > 0) + if (initialData > 0) { ret = write(mfr.fd, mData.getData(), initialData); + } - if (mSendObjectFileSize - initialData > 0) { - mfr.offset = initialData; - if (mSendObjectFileSize == 0xFFFFFFFF) { - // tell driver to read until it receives a short packet - mfr.length = 0xFFFFFFFF; - } else { - mfr.length = mSendObjectFileSize - initialData; - } + if (ret < 0) { + ALOGE("failed to write initial data"); + result = MTP_RESPONSE_GENERAL_ERROR; + } else { + if (mSendObjectFileSize - initialData > 0) { + mfr.offset = initialData; + if (mSendObjectFileSize == 0xFFFFFFFF) { + // tell driver to read until it receives a short packet + mfr.length = 0xFFFFFFFF; + } else { + mfr.length = mSendObjectFileSize - initialData; + } - ALOGV("receiving %s\n", (const char *)mSendObjectFilePath); - // transfer the file - ret = ioctl(mFD, MTP_RECEIVE_FILE, (unsigned long)&mfr); - ALOGV("MTP_RECEIVE_FILE returned %d\n", ret); + ALOGV("receiving %s\n", (const char *)mSendObjectFilePath); + // transfer the file + ret = ioctl(mFD, MTP_RECEIVE_FILE, (unsigned long)&mfr); + ALOGV("MTP_RECEIVE_FILE returned %d\n", ret); + } } close(mfr.fd); @@ -1131,15 +1146,19 @@ MtpResponseCode MtpServer::doSendPartialObject() { length -= initialData; } - if (length > 0) { - mtp_file_range mfr; - mfr.fd = edit->mFD; - mfr.offset = offset; - mfr.length = length; - - // transfer the file - ret = ioctl(mFD, MTP_RECEIVE_FILE, (unsigned long)&mfr); - ALOGV("MTP_RECEIVE_FILE returned %d", ret); + if (ret < 0) { + ALOGE("failed to write initial data"); + } else { + if (length > 0) { + mtp_file_range mfr; + mfr.fd = edit->mFD; + mfr.offset = offset; + mfr.length = length; + + // transfer the file + ret = ioctl(mFD, MTP_RECEIVE_FILE, (unsigned long)&mfr); + ALOGV("MTP_RECEIVE_FILE returned %d", ret); + } } if (ret < 0) { mResponse.setParameter(1, 0); |