Maybe this topic has been discussed but I cant find it anywhere.
I was wondering if it is possible to increase the MMS video length on my MDA Vario more than the measly 5seconds that it can at the moment.
I think the Vario is the best phone I have had but this is one thing that I would like to change.
There is only so much abuse you can cram into 5 seconds when sending video to your mates!!!!
thanks
Code:
HKLM\SOFTWARE\HTC\camera\AppDefSettings\P3\EnableLimit = 0
Disables the MMS Video 3gp recording duration limit. Mind you that you may not be able to send any MMS with longer video (due to size restrictions).
OR
Code:
HKLM\SOFTWARE\HTC\camera\AppDefSettings\P3\LimitSize = 80 (DWORD decimal)
That 80 = 80KB. If you know the maximum size your (and the receiving) operator supports, subtract 16k from that, and use that value. 16 should be enough for all header data, any text you add, etc.
Thanks for that worked great.
100k is the limit for Orange UK (or so they said)
I guess that is 84 for the DWORD
Related
Hi I am very new to C# and compact framework. I have been coding for XDA's using eVB. I want to be able to enable the GPRS mode and also be able to Hangup.
Do I use RasDial? Is this an achievable task for a C# beginer? Could someone please give me some hints as how to achieve this.
Highflyer,
Firstly, why move over to C# when you can achieve what you want using VB.NET. Like yourself, I have ported across an eVB Rasdial app across to .NET CF. Secondly, with GPRS remember that you only pay for the data that is transferred over the connection, so you dont need to worry about the disconnection, but this can be done manually by putting the XDA into FLIGHT MODE. I think you will find another thread covering how to do this programmatically in this forum.
In my app, my XDA is sending and requesting XML packets over HTTP to a web server. To do this I use the HttpWebRequest and HttpWebResponse classes.
Here is a snippet of code
*******************************
Public Function Post(ByVal sURL As String, Optional ByVal strRequest As String = "", Optional ByVal blnRetValExpected As Boolean = False, Optional ByRef strReturned As String = "", Optional ByRef intStatus As Integer = 0) As Boolean
Dim WebReq As HttpWebRequest
Dim WebRes As HttpWebResponse
Dim bOK As Boolean
Try
WebReq = CType(WebRequest.Create(sURL), HttpWebRequest)
If strRequest <> "" Then
Dim encoding As New ASCIIEncoding
Dim byte1 As Byte() = encoding.GetBytes(strRequest)
WebReq.Method = "POST"
WebReq.ContentType = "application/x-www-form-urlencoded"
WebReq.ContentLength = strRequest.Length
Dim newStream As Stream = WebReq.GetRequestStream()
newStream.Write(byte1, 0, byte1.Length)
newStream.Close()
End If
WebRes = CType(WebReq.GetResponse(), HttpWebResponse)
If WebRes.StatusCode = HttpStatusCode.OK Then
bOK = True
End If
intStatus = WebRes.StatusCode
Catch ex As InvalidOperationException
bOK = False
Catch ex As WebException
bOK = False
Catch ex As ProtocolViolationException
bOK = False
End Try
If bOK And blnRetValExpected Then
If WebRes.ContentLength > 0 Then
Dim sResponse() As Byte
Dim ReceiveStream As Stream = WebRes.GetResponseStream()
Dim encode As encoding = encoding.GetEncoding("utf-8")
Dim ReadStream As New StreamReader(ReceiveStream, encode)
Dim strXML As String = ""
Try
strXML = ReadStream.ReadToEnd()
Catch ex As Exception
strXML = ""
bOK = false
Finally
ReadStream.Close()
End Try
strReturned = strXML
End If
End If
WebRes.Close()
Post = bOK
End Function
*******************************
What you will find with the above code is that there is no code for making the GPRS connection and RasDial is no longer required. This is due to the code being hidden away in the HttpWebRequest class and the GPRS connection will use the current connection if it exists or prompt the user for the connection to use. The prompting can be overcome by setting a defualt GPRS connection in Settings - Connection Manager, and saving the password along with it. HTH.
Tony,
Many thanks for your advice. The included sample code is very useful. The problem is I have to stick with C#, wether I like it or not. However I can follow your code to reporoduce something similar in C#. I have already used Post in eVB, to send data, however I changed over to using sockets (WinSock), since I understand there is lower data over head in using sockets. I appreciate any comments you may have with this choice.
One question, you mentioned that when we connect to GPRS we do not pay for actual connection. Is this right, my understanding was when the device connects to GPRS, some data is used to achieve this connection, thus just establishing a connection to GPRS would cost. I am thinking of the situation when GPRS has to be enabled and disabled hundreds of times a day.
Thanks again, looking forward to hear any comments.
Highflyer,
Regarding a connection charge - you may be right about this depending on the type of contract you are on, but as I mentioned once a connection is established you are only charged for the data that is transferred over the connection, so why not leave the connection open then there will only be the one connection charge. If the connection is lost due to poor signal then the underlying code of the web components will re-establish the connection as and when required. HTH.
Thanks for your advice.
I am still very interested to be able to perform RasDial using C#. As I said I have tried to write the code however due to my lack of experience in using C# the code does not work.
Any Ideas or advice anybody.
Thanks
WebRequest on Magician/XDA Mini?
Hi there!
I´m glad finding .NET developers here ;-)
I have a big, big problem:
On several XDA Mini´s (HTC Magician) the HttpWebRequest or WebRequest methods instantly return with an exception (ConnectFailure), even if Pocket IE or other software can reach the net. I´ve tested both, connection via ActiveSync and GPRS, but it does not work.
Any ideas on this? Is it a known issue, and is there a way to solve it?
Thanky in advance,
Hi,
I want to send time critical data over a GSM connection. I establish the
connection with the TAPI interface.
My problem is the very big delay between sending a Byte at device a and
receiving a byte at device b.
I test it in the following way:
* device send one byte and start a counter
* device b receive the byte and send it back
* device a receive the byte and stop the counter
the result:
device a | device b | delay
MDA | ISDN | over 1600 ms
SDA | ISDN | 688 ms
MDA | SDA | 884 ms
SDA | MDA | 1836 ms
SDA | SDA | 869 ms
What's going wrong?
My CSD-type is V.110 transparent
MDA = T-Mobile MDA I = HTC Wallaby (I think)
SDA = T-Mobile SDA I = HTC Tornado
I use the following functions:
* lineGetID(0, 0, hCall, LINECALLSELECT_CALL, lpVarStr, TEXT("comm/datamodem")) ;
* sHandle = *(LPHANDLE)((BYTE*)lpVarStr + lpVarStr->dwStringOffset);
* COMMTIMEOUTS commTimeouts;
GetCommTimeouts (sHandle, &commTimeouts);
commTimeouts.ReadIntervalTimeout = MAXDWORD;
commTimeouts.ReadTotalTimeoutMultiplier = MAXDWORD;
commTimeouts.ReadTotalTimeoutConstant = 2000;
commTimeouts.WriteTotalTimeoutMultiplier = 1;
commTimeouts.WriteTotalTimeoutConstant = 1;
SetCommTimeouts (sHandle, &commTimeouts)
* WriteFile (sHandle, data, tSize, &sent, NULL);
* ReadFile (sHandle, data, rSize, &tSize, 0);
Thanks a lot
Thomas
for your real problem I have no solution - could be bound to GSM specifics.
Nevertheless Threading is not all that good on Pocket PC's - I get better results when calling Application.DoEvents very often. = they delay could also between OS and Application!
BR
Daniel
You haven't any problem.
Delays you are achieved is relatively normal for CSD GSM communication. At least I have measured approximately same values.
~600-900ms round trip time for "transparent" mode
and
~1000-1500ms for "nontrasparent"
And more - these delays aren't stable - you easily ca achieve 3000 ms as pick value for dalay.
In case of "nontransparent" communication delays usualy are biger and show tendency to growing more often.
Grigory.
I don't see any problem with threading. What do you mean "not all that good". I use threads a lot and found them to be very predictable and in many cases the best way to get a result. When using writefile with tapi or communicating over sockes I have found no noticeable delay between my application and the os. As long as the threads are synchronized propperly and sometimes give up their time slice when not in important code many threads can get along fine in one app.
As for the time taken, 1000ms for a byte is not good - its very poor. I have found this to happen when using writefile with single bytes with the phone handle. Try sending much larger size data and work out what the time is per byte and I think you will see a huge decrease in the time per byte achived. Strangley I have not found the same dellays in using readfile to read single bytes at a time.
I just sent a 13312 byte file with GSMbeam and it took ~24 seconds (after the handshake). Thats 1.8ms per byte (correct me if my math is wrong).
Question was (as I understand) in propagation time of byte - not about bandwidth.
Yes you can send approximately up to 1.1 kbytes per second in "nontrasparent" mode. But the problem is in time byte (right now have been sent) needs to reach "receiver".
Grigory
Hi,
thank you for your answers and sorry for my late reply.
I can't use "Application.DoEvents", because I program in C++ not in C#.
The problem is the delay not the bandwidth. Ok, GSM data have a round trip delay between 500 and 1000ms.
A normal Voice call haven't this delay. Is it possible to use it for data communications? Are there workarounds?
But why is it bigger on a pocket pc?
On MDA (~200 Mhz, HTC Wallaby) and XDAmini (300 Mhz, HTC Magician ?) I have delays over 1000 ms. But not on a 200 Mhz smartphone ( HTC Tornado). The difference are one second and more?
Is this related to any windows parameter?
Thanks
Thomas
It works but real choppy any ideas or registry modifications to fix this or reasons that this will never work at full capacity.
Thank you for your help.
ps. if you have tried it please post what headphones you used and hacks you have tried like registry or overclocking etc.
I wonder if overclocking the cpu help with the choppiness?
badbob001 said:
I wonder if overclocking the cpu help with the choppiness?
Click to expand...
Click to collapse
tried it on 240 but no luck and it starts too change colors the screen(have green theme and it changes to other colors) but thats an overcloking problem
does someone know the registry settings for A2DP for WM6
other devices had this problem on the wm5 but were fix with changing the registry's
Feeler A2DP working (but poor)
On clean install of WM6 the sound was missing 8 seconds out of 10.
After adding
HKLM\Software\Microsoft\Bluetooth\A2DP\Settings\Bitpool = 20 (DEC)
HKLM\Software\Microsoft\Bluetooth\A2DP\Settings\MaxSupportedBitPool = 20 (DEC)
HKLM\Software\Microsoft\Bluetooth\A2DP\Settings\UseJointStereo = 1 (DEC)
there still are some "whistles", but the sound is more or less stable.
Yay! Finally got it to work without skipping:
Edit the registry settings VI-Sher mentioned but set BitPool and MaxSupportedBitPool to 40, then using omapclk overclock the device to at least 228 MHz. Works like a charm here
Dam i still got some pause...
I put Max... and BitPool to 40 with JoinStereo at 1 :S
Another registry trick ?
Yeah it works!
I put a DWORD Value in the same directory of BitPool/MaxSupportedBitPool:
- Name: SampleRate
- Value: 40000 ( Decimal )
Reboot and Enjoy
PS: I used TornadoPowerControl to overclock the Typhoon:
- Power_On : 240 Mhz
- Power_UserIdle : 240 Mhz
- Power_BacklightOff : 240 Mhz
Hope my battery will last 1 day LOL
Mine lasted 3 days on 240 MHz and about 1 hr of A2DP per day so you should be alright
Hello there, to all developers.
I have this very weird problem for which i couldn't find any answer.It goes like this:
I'm developing a graphical app for pocket pc devices using DirectDraw Api with vs8(.net 2005) and windows mobile 6 SDK. Since i don't have double buffer native support, i simply use 2 LPDIRECTDRAWSURFACE objects, one as a primebuffer and one as a backbuffer.
As a test, i fill the backbuffer surface with a color and display it.This works fine.
Then i create a compatible bitmap using CreateDIBSection and read the color bytes from (void**)lpByte i receive into a new bitmap and blit it to the background. Basically i am copying the background and then bliting it back.
The problem: i get wrong data. When I initially fill the background, i use a WORD value (since color is displayed using RGB16 16 bits format) for example 65 535 which means 16 bits with value 1 each. So i get a white background.So far, so good.
When i read the values from that lpByte pointer of type LPBYTE, i get bytes with values of 255 and 127 which means every second byte looses it's most important bit, so when i create the WORD value by reading every 2 bytes, i get a value of 32 767 so, when i display the bitmap, i get a yellowish color.
It actually gets worse if i do this with textures.
Dear all,
Is anyone know howto increate a call history length?, On my device it's always limit at 300, even on registry HKCU\ControlPanel\Phone\CalHistoryMax is set to 65535.
there isn't a way to increase it via registry, i researched in the past and didn't find a solution. that value is something else, could be max size (bytes value) of call log.
changing the value has no affect and 300 remains the limit. i bet one of the reasons 300 is the limit could be because of the amount of time it would take to load the call history page if there were more than 300... probably take a while to load if there were say 1000..