diff options
Diffstat (limited to 'cmds')
-rw-r--r-- | cmds/stagefright/Android.mk | 2 | ||||
-rw-r--r-- | cmds/stagefright/codec.cpp | 11 | ||||
-rw-r--r-- | cmds/stagefright/sf2.cpp | 1 | ||||
-rw-r--r-- | cmds/stagefright/stagefright.cpp | 1 | ||||
-rw-r--r-- | cmds/stagefright/stream.cpp | 22 |
5 files changed, 27 insertions, 10 deletions
diff --git a/cmds/stagefright/Android.mk b/cmds/stagefright/Android.mk index 8687fab..1247588 100644 --- a/cmds/stagefright/Android.mk +++ b/cmds/stagefright/Android.mk @@ -104,7 +104,7 @@ LOCAL_SRC_FILES:= \ LOCAL_SHARED_LIBRARIES := \ libstagefright liblog libutils libbinder libgui \ - libstagefright_foundation libmedia libmedia_native + libstagefright_foundation libmedia libmedia_native libcutils LOCAL_C_INCLUDES:= \ frameworks/av/media/libstagefright \ diff --git a/cmds/stagefright/codec.cpp b/cmds/stagefright/codec.cpp index f3370a5..723a6e5 100644 --- a/cmds/stagefright/codec.cpp +++ b/cmds/stagefright/codec.cpp @@ -34,7 +34,9 @@ #include <media/stagefright/MediaCodecList.h> #include <media/stagefright/MediaDefs.h> #include <media/stagefright/NuMediaExtractor.h> +#include <gui/ISurfaceComposer.h> #include <gui/SurfaceComposerClient.h> +#include <ui/DisplayInfo.h> static void usage(const char *me) { fprintf(stderr, "usage: %s [-a] use audio\n" @@ -378,14 +380,17 @@ int main(int argc, char **argv) { composerClient = new SurfaceComposerClient; CHECK_EQ(composerClient->initCheck(), (status_t)OK); - ssize_t displayWidth = composerClient->getDisplayWidth(0); - ssize_t displayHeight = composerClient->getDisplayHeight(0); + sp<IBinder> display(SurfaceComposerClient::getBuiltInDisplay( + ISurfaceComposer::eDisplayIdMain)); + DisplayInfo info; + SurfaceComposerClient::getDisplayInfo(display, &info); + ssize_t displayWidth = info.w; + ssize_t displayHeight = info.h; ALOGV("display is %ld x %ld\n", displayWidth, displayHeight); control = composerClient->createSurface( String8("A Surface"), - 0, displayWidth, displayHeight, PIXEL_FORMAT_RGB_565, diff --git a/cmds/stagefright/sf2.cpp b/cmds/stagefright/sf2.cpp index 3bbfbdc..c817443 100644 --- a/cmds/stagefright/sf2.cpp +++ b/cmds/stagefright/sf2.cpp @@ -612,7 +612,6 @@ int main(int argc, char **argv) { control = composerClient->createSurface( String8("A Surface"), - 0, 1280, 800, PIXEL_FORMAT_RGB_565, diff --git a/cmds/stagefright/stagefright.cpp b/cmds/stagefright/stagefright.cpp index 0362f39..b92a8a0 100644 --- a/cmds/stagefright/stagefright.cpp +++ b/cmds/stagefright/stagefright.cpp @@ -922,7 +922,6 @@ int main(int argc, char **argv) { control = composerClient->createSurface( String8("A Surface"), - 0, 1280, 800, PIXEL_FORMAT_RGB_565, diff --git a/cmds/stagefright/stream.cpp b/cmds/stagefright/stream.cpp index efa1445..7329dcc 100644 --- a/cmds/stagefright/stream.cpp +++ b/cmds/stagefright/stream.cpp @@ -19,6 +19,7 @@ #include "utils/Log.h" #include <binder/ProcessState.h> +#include <cutils/properties.h> // for property_get #include <media/IStreamSource.h> #include <media/mediaplayer.h> @@ -32,9 +33,11 @@ #include <binder/IServiceManager.h> #include <media/IMediaPlayerService.h> +#include <gui/ISurfaceComposer.h> #include <gui/SurfaceComposerClient.h> #include <fcntl.h> +#include <ui/DisplayInfo.h> using namespace android; @@ -304,15 +307,18 @@ int main(int argc, char **argv) { sp<SurfaceComposerClient> composerClient = new SurfaceComposerClient; CHECK_EQ(composerClient->initCheck(), (status_t)OK); - ssize_t displayWidth = composerClient->getDisplayWidth(0); - ssize_t displayHeight = composerClient->getDisplayHeight(0); + sp<IBinder> display(SurfaceComposerClient::getBuiltInDisplay( + ISurfaceComposer::eDisplayIdMain)); + DisplayInfo info; + SurfaceComposerClient::getDisplayInfo(display, &info); + ssize_t displayWidth = info.w; + ssize_t displayHeight = info.h; ALOGV("display is %d x %d\n", displayWidth, displayHeight); sp<SurfaceControl> control = composerClient->createSurface( String8("A Surface"), - 0, displayWidth, displayHeight, PIXEL_FORMAT_RGB_565, @@ -339,8 +345,16 @@ int main(int argc, char **argv) { sp<IStreamSource> source; + char prop[PROPERTY_VALUE_MAX]; + bool usemp4 = property_get("media.stagefright.use-mp4source", prop, NULL) && + (!strcmp(prop, "1") || !strcasecmp(prop, "true")); + size_t len = strlen(argv[1]); - if (len >= 3 && !strcasecmp(".ts", &argv[1][len - 3])) { + if ((!usemp4 && len >= 3 && !strcasecmp(".ts", &argv[1][len - 3])) || + (usemp4 && len >= 4 && + (!strcasecmp(".mp4", &argv[1][len - 4]) + || !strcasecmp(".3gp", &argv[1][len- 4]) + || !strcasecmp(".3g2", &argv[1][len- 4])))) { int fd = open(argv[1], O_RDONLY); if (fd < 0) { |