Hi,
I have just finished compiling the B2G codebase for unagi device on Mac OSX 
Mountain Lion 10.8.2 using the steps here: 
https://intranet.mozilla.org/B2G_Team/Unagi#Build

I am successfully able to flash it on the unagi device (from turkcell) using 
./flash.sh. Running the default build on device seems to be okay for the most 
part. I do encounter a failure to save photos taken from the camera.

As a next step, I added some log stmts, just to get some confidence that my 
local changes are able to make to the device successfully. 

Specifically, I modified camera related gecko files to see if the log stmts get 
printed when camera is opened in preview mode. 
Here is the file with method names I modified:
B2G/gecko/dom/camera/DOMCameraPreview.cpp

3 methods modified:

/////////// start of modified code snippet in file DOMCameraPreview.cpp 
///////////

DOMCameraPreviewListener(DOMCameraPreview* aDOMPreview) :
     mDOMPreview(aDOMPreview)
   {
+    std::cerr << "Inside DOMCameraPreviewListener" << std::endl;
     DOM_CAMERA_LOGT("%s:%d : this=%p\n", __func__, __LINE__, this);
   }



DOMCameraPreview::DOMCameraPreview(ICameraControl* aCameraControl, uint32_t 
aWidth, uint32_t aHeight, uint32_t aFrameRate)
  : nsDOMMediaStream()
  , mState(STOPPED)
  , mWidth(aWidth)
  , mHeight(aHeight)
  , mFramesPerSecond(aFrameRate)
  , mFrameCount(0)
  , mCameraControl(aCameraControl)
{
  DOM_CAMERA_LOGT("%s:%d : this=%p : mWidth=%d, mHeight=%d, 
mFramesPerSecond=%d\n", __func__, __LINE__, this, mWidth, mHeight, 
mFramesPerSecond);
+  std::cerr << "Satender: DOMCameraPreview constructor: width" << mWidth << " 
frames per second: " << mFramesPerSecond << std::endl;


void
DOMCameraPreview::Start()
{
+  std::cerr << " Starting preview stream\n" << std::endl;
  NS_ASSERTION(NS_IsMainThread(), "Start() not called from main thread");
  if (mState != STOPPED) {
    return;
  }

  DOM_CAMERA_LOGI("Starting preview stream\n");
...

//////////////// end of code snippet //////////

After doing a rebuild, when I flash the device with latest build, I do not see 
the log stmts getting printed, when i open the camera after attaching adb to 
view the log output like this: adb logcat -v time > /tmp/x

In fact any of the DOM_CAMERA_LOGI stmts are NOT getting printed in the adb 
logcat output.
 
I looked at the timestamp of .o file to make sure .build.sh did recompile 
DOMCameraPreview.cpp. Looking at the timestamp of .o does confirm that it 
indeed got recompiled.

ssaroha$ ls -ltr ~/b2g/B2G/objdir-gecko/dom/camera/DOMCameraPreview.o 
-rw-r--r--  1 ssaroha  staff  418520 Jan 15 14:46 
/Users/ssaroha/b2g/B2G/objdir-gecko/dom/camera/DOMCameraPreview.o

Any ideas as to why the log stmts directed to stderr are not visible in the adb 
logs. Also why DOM_CAMERA_LOGI stmt is not visible. Please note that if I 
modify one of the existing log stmts which I was seeing in the logcat output, 
then that change does get reflected in the next build run ont the device. For 
example I made the following change to the file, 
~/b2g/B2G/gecko/ipc/glue/AsyncChannel.cpp:        
errorMsg = "Channel closing (Satender): too late to send/recv, messages will be 
lost";

and I do see my name showing up in the logs like this:
01-15 15:11:02.409 I/Gecko   (  369): ###!!! [Child][RPCChannel] Error: Channel 
closing (Satender): too late to send/recv, messages will be lost

Its almost like I am missing some configuration setting which is preventing any 
logs from DOM code to make it to adb logs.

Any ideas what am I missing. Thanks for any pointers

Satender
_______________________________________________
dev-b2g mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-b2g

Reply via email to