summaryrefslogtreecommitdiffstats
path: root/cmds
diff options
context:
space:
mode:
Diffstat (limited to 'cmds')
-rw-r--r--cmds/stagefright/Android.mk2
-rw-r--r--cmds/stagefright/codec.cpp11
-rw-r--r--cmds/stagefright/sf2.cpp1
-rw-r--r--cmds/stagefright/stagefright.cpp1
-rw-r--r--cmds/stagefright/stream.cpp22
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) {