Timeline


and

Mar 15, 2008:

5:53 PM WikiStart edited by bennylp
(diff)
5:53 PM WikiStart edited by bennylp
(diff)
5:33 PM 3rd_Party_Media edited by bennylp
(diff)
1:28 PM 3rd_Party_Media edited by bennylp
(diff)
1:04 PM 3rd_Party_Media edited by bennylp
(diff)
10:57 AM 3rd_Party_Media edited by bennylp
(diff)
9:39 AM diagram.jpg attached to 3rd_Party_Media by bennylp
9:38 AM 3rd_Party_Media created by bennylp

Mar 14, 2008:

5:56 PM Changeset [1869] by bennylp
More ticket #485: initial test on TURN client/server
2:19 PM Ticket #513 (Support for RTCP XR) created by bennylp
Some specs: 1. The following RTCP XR block types shall be supported: - …

Mar 13, 2008:

9:55 PM Ticket #512 (Bug in select ioqueue causing unnecessary sleep() to be invoked (thanks ...) closed by bennylp
fixed: Fixed in r1868
9:51 PM Changeset [1868] by bennylp
Ticket #512: Bug in select ioqueue causing unnecessary sleep() to be …
9:51 PM Ticket #512 (Bug in select ioqueue causing unnecessary sleep() to be invoked (thanks ...) created by bennylp
The pjsip endpoint will invoke pj_thread_sleep() if …
3:11 PM Changeset [1867] by bennylp
More ticket #485: added TURN client application
10:15 AM Changeset [1866] by bennylp
More ticket #504: buffer overflow in splitcomb when handling stereo audio

Mar 12, 2008:

11:37 PM Ticket #483 (Problems with using multiple sound devices (with splitcomb) with PJSUA-LIB) closed by bennylp
fixed: We couldn't exactly reproduce the problem, but one thing that we observed, …
11:21 PM Ticket #451 (Updated PortAudio to the latest revision) closed by bennylp
fixed: Done in r1865
11:21 PM Changeset [1865] by bennylp
Ticket #451: Updated PortAudio? to the latest version
11:14 PM Changeset [1864] by bennylp
More ticket #485: added TURN client session/UDP client to pjnath VS6 …
10:44 PM Ticket #511 (Add --disable-oss option to disable OSS in configure script) closed by bennylp
fixed: Done in r1863
10:44 PM Changeset [1863] by bennylp
Ticket #511: Add --disable-oss option to disable OSS in configure script
8:52 PM Changeset [1862] by bennylp
More ticket #485: implementation of TURN UDP client session
8:45 PM Ticket #511 (Add --disable-oss option to disable OSS in configure script) created by bennylp
10:22 AM Ticket #510 (Smaller PTIME for L16 codecs) created by bennylp
Currently the PTIME for L16 codecs are set to either 10 or 20 ms. There …
10:14 AM Ticket #509 (Audio "clicks" with re-INVITE) created by bennylp
Re-INVITE will cause stream to be destroyed and re-created, and this …
10:06 AM Ticket #508 (Support for MPEG2 audio codec) created by bennylp
9:53 AM Ticket #507 (G.722 codec implementation and support) created by bennylp
Implement an experimental G.722 codec in pjmedia-codec. We'll just …
9:18 AM Ticket #479 (Allow transport framework to return transport specific info) closed by bennylp
fixed
12:01 AM Ticket #506 (Behavior when cancelling INVITE before provisional response is received) created by bennylp
Ticket #302 changed the behavior of INVITE UAC transaction, it stops …

Mar 11, 2008:

9:47 PM Changeset [1861] by bennylp
Ticket #504: fixed stream.c for stereo codecs
9:38 PM Changeset [1860] by bennylp
Ticket #479: allow media transport framework to return transport specific …
8:51 PM Ticket #494 (Configuration option to use high quality tone generation) closed by bennylp
fixed: Committed patch as is in r1859, thanks.
8:50 PM Changeset [1859] by bennylp
Ticket #494: Configuration option to use high quality tone generation
1:38 PM Changeset [1858] by bennylp
Added missing PJ_INT64() macro for Symbian compilers
1:37 PM Changeset [1857] by bennylp
More ticket #7: fixed undefined symbol on Symbian
1:18 PM Changeset [1856] by bennylp
Ticket #493: added EC settings in dialog
1:15 PM Changeset [1855] by bennylp
More ticket #495: bug in snd_clock_rate causing unability to open sound …

Mar 9, 2008:

11:52 PM Changeset [1854] by bennylp
More ticket #485: initial (incomplete) work on TURN client session library
12:56 PM Changeset [1853] by bennylp
Added more files in SVN ignore spec for PocketPJ application
12:55 PM Changeset [1852] by bennylp
More work for ticket #485: updated pjnath with TURN-07 and added …

Mar 8, 2008:

9:26 AM Changeset [1851] by bennylp
Make SIP and RTP ports in simpleua configurable, and add initial support …
12:54 AM Changeset [1850] by bennylp
More work on ticket #485: more TURN-07 work
12:18 AM Ticket #505 (Optimize delay of current jitter buffer) created by bennylp

Mar 7, 2008:

2:40 PM Ticket #467 (RTP/AVP vs RTP/SAVP negotiation) closed by bennylp
fixed: Patch ticket467.3.patch committed (don't send SDP with BYE)
2:39 PM Changeset [1849] by bennylp
Ticket 467: dont send SDP with BYE!
2:32 PM Changeset [1848] by bennylp
Ticket #504: assertion in sound device and recfile sample when using …
1:49 PM Ticket #504 (Fixed support for stereo audio all the way in pjmedia) created by nanang
Identified issues: 1. The PA callbacks implementations contains wrong …

Mar 6, 2008:

8:38 PM Ticket #503 (Handle the case when CANCEL is responded with 200/OK but 487 is not sent) created by bennylp
RFC 3261 Section 9.1: "Note that both the transaction corresponding to …

Mar 5, 2008:

5:41 PM Changeset [1847] by bennylp
More ticket #438: wrong param passed to shrink_buffer() in set_max_cnt(), …

Mar 4, 2008:

4:24 PM Ticket #502 (New packet lost concealment (PLC) implementation) closed by bennylp
fixed: Done in r1846. Also enabled PLC on G711 and GSM codecs by default.
4:23 PM Changeset [1846] by bennylp
Ticket #502: New packet lost concealment (PLC) implementation and enable …
4:22 PM Ticket #502 (New packet lost concealment (PLC) implementation) created by bennylp
Implement new packet loss concealment (PLC) module based on the new WSOLA …
4:13 PM Changeset [1845] by bennylp
More ticket #497: bug on pjmedia_wsola_save() when extra samples exceed …
3:37 PM Changeset [1844] by bennylp
More ticket #438: improve docs, added channel_count in wsola, etc.
3:31 PM Ticket #501 (Set master port worker thread priority to highest by default) closed by bennylp
fixed: Done in r1843
3:31 PM Changeset [1843] by bennylp
Ticket #501: Set master port worker thread priority to highest by default
3:28 PM Ticket #501 (Set master port worker thread priority to highest by default) created by bennylp
Unless thread priority of master port is set to a high priority, media …
2:49 PM Ticket #500 (Added function to set thread priority in PJLIB) closed by bennylp
fixed: Done in r1841 and r1842
2:49 PM Changeset [1842] by bennylp
Ticket #500: implementation of thread priority setting on os_core_unix.c
2:45 PM Changeset [1841] by bennylp
Ticket #500: Added function to set thread priority in PJLIB
2:44 PM Ticket #500 (Added function to set thread priority in PJLIB) created by bennylp
New function in PJLIB to control thread priority. For now, we can only set …
1:28 AM Ticket #467 (RTP/AVP vs RTP/SAVP negotiation) reopened by bennylp
New issues reported by Klaus Darilion: > The BYE is sent before the ACK …

Mar 3, 2008:

3:02 PM Ticket #438 (Workaround for frame bursts and drifts from audio devices) closed by bennylp
fixed: In r1840: * Incorporate delaybuf into splitcomb, with automatic …
2:20 PM Changeset [1840] by bennylp
Ticket #438: added delaybuf in splitcomb. Please see the checkin comment …
1:25 PM Ticket #499 (NULL frame transmission in conference bridge is not clocked at the right ...) closed by bennylp
fixed: Fixed in r1839
1:25 PM Changeset [1839] by bennylp
Ticket #499: NULL frame transmission in conference bridge is not clocked …
1:24 PM Ticket #499 (NULL frame transmission in conference bridge is not clocked at the right ...) created by bennylp
When the port is not receiving signal from any other ports (e.g. when no …
1:19 PM Changeset [1838] by bennylp
Ticket #497: changed clock rate variable in WSOLA from uint16 to uint32 to …

Mar 2, 2008:

12:09 PM pjsipcom/Products edited by bennylp
(diff)
10:37 AM Ticket #498 (Option in client registration to ignore Contact address in REGISTER ...) closed by bennylp
fixed: Done in r1837
10:37 AM Changeset [1837] by bennylp
Ticket #498: Option in client registration to ignore Contact address in …
10:36 AM Ticket #498 (Option in client registration to ignore Contact address in REGISTER ...) created by bennylp
Some registrar servers are not returning the same URI in the Contact …

Mar 1, 2008:

9:37 PM Changeset [1836] by bennylp
Disable overflow/underflow test
8:21 PM pjsipcom/Desktop edited by bennylp
(diff)
8:20 PM pjsipcom/Embedded edited by bennylp
(diff)
8:13 PM pjsipcom/Embedded edited by bennylp
(diff)
8:04 PM pjsipcom/Embedded created by bennylp
7:41 PM pjsipcom/Mobile edited by ismangil
(diff)
7:36 PM pjsipcom/Mobile created by ismangil
7:25 PM pjsipcom/Desktop edited by ismangil
(diff)
7:25 PM pjsipcom/Desktop edited by bennylp
(diff)
7:24 PM pjsipcom/Desktop edited by bennylp
(diff)
7:23 PM pjsipcom/Products edited by ismangil
(diff)
7:21 PM pjsipcom/Desktop edited by ismangil
(diff)
6:57 PM pjsipcom/Desktop created by ismangil
6:51 PM pjsipcom/TOC edited by ismangil
(diff)
6:49 PM pjsipcom/TOC edited by ismangil
(diff)
6:44 PM pjsipcom/TOC edited by ismangil
(diff)
6:36 PM pjsipcom/Solutions edited by bennylp
(diff)
6:35 PM pjsipcom/Technology created by bennylp
6:34 PM pjsipcom/Solutions created by bennylp
6:26 PM pjsipcom/Products edited by bennylp
(diff)
6:16 PM pjsipcom/Products edited by bennylp
(diff)
6:16 PM pjsipcom/Products edited by bennylp
(diff)
6:15 PM pjsipcom/Products created by bennylp
6:15 PM pjsipcom/TOC edited by bennylp
(diff)
6:14 PM pjsipcom/TOC edited by bennylp
(diff)
6:12 PM pjsipcom/Home edited by bennylp
(diff)
6:11 PM pjsipcom/TOC edited by bennylp
(diff)
6:10 PM pjsipcom/Home created by bennylp
6:09 PM pjsipcom/TOC created by bennylp

Feb 29, 2008:

7:29 PM Changeset [1835] by bennylp
More ticket #438: changed API call to delay_buf_create()
6:00 PM Changeset [1834] by bennylp
Added checking in delaybuf for buffer empty before calling shrink_buffer()
5:19 PM Changeset [1833] by bennylp
Ticket #438: Workaround for frame bursts from audio devices: added wsola …
12:05 PM Changeset [1832] by bennylp
Put wsola_test.c in pjmedia test
12:00 PM Changeset [1831] by bennylp
Added pjmedia_wsola_reset()
10:22 AM Changeset [1830] by bennylp
Fixed bug caused by ticket #412: critical section is not released!

Feb 28, 2008:

11:39 PM Changeset [1829] by bennylp
Fixed bug in wsola when discarding frame in non-contiguous buffer
9:46 PM Changeset [1828] by bennylp
Added 100rel module initialization in pjsip-perf.c
9:25 PM GoogleSummerofCode2008 edited by bennylp
(diff)
8:22 PM Changeset [1827] by bennylp
Modify WSOLA discard to support erasing frame from non-contiguous buffer
4:28 PM Changeset [1826] by bennylp
A little bit of optimization in WSOLA
2:16 PM Ticket #496 (Crash on sound port when only player is opened and delaybuf enabled) closed by bennylp
fixed: Committed in r1825, thanks.
2:16 PM Changeset [1825] by bennylp
Ticket #496: Crash on sound port when only player is opened and delaybuf …
2:10 PM Ticket #497 (Waveform Similarity Based Overlap-Add (WSOLA) implementation) closed by bennylp
fixed: Done in r1824
2:08 PM Changeset [1824] by bennylp
Ticket #497: WSOLA implementation
2:04 PM Ticket #497 (Waveform Similarity Based Overlap-Add (WSOLA) implementation) created by bennylp
WSOLA is used to speed up or slow down audio playback without changing the …
1:00 PM Ticket #496 (Crash on sound port when only player is opened and delaybuf enabled) created by nanang

Feb 26, 2008:

3:32 PM Ticket #495 (Ability to specify different clock rate when opening sound device in ...) closed by bennylp
fixed: Committed in r1823, thanks.
3:32 PM Changeset [1823] by bennylp
Ticket #495: ability to specify different clock rate when opening sound …
3:05 PM Ticket #495 (Ability to specify different clock rate when opening sound device in ...) created by nanang
11:14 AM Changeset [1822] by bennylp
Stateful proxy sample: do not create CANCEL if UAC INVITE transaction has …
10:31 AM Changeset [1821] by bennylp
Fixed bug in ticket #455 in round-robin call ID allocation (thanks Truong …

Feb 25, 2008:

6:01 PM Audio_Device/Tests edited by bennylp
(diff)
3:42 PM Audio_Device/C-Media_USB_1 edited by bennylp
(diff)
3:42 PM Audio_Device/Tests edited by bennylp
(diff)
3:40 PM Audio_Device/Sennheiser_USB_1 created by bennylp
3:25 PM Audio_Device/C-Media_USB_1 created by bennylp
3:14 PM Audio_Device/Template created by bennylp
3:04 PM Audio_Device/Tests edited by bennylp
(diff)
3:04 PM Audio_Device/Tests edited by bennylp
(diff)
1:18 PM Audio_Device/Tests edited by bennylp
(diff)
1:11 PM Audio_Device/Tests edited by bennylp
(diff)
1:11 PM Audio_Device/Tests edited by bennylp
(diff)
1:08 PM Audio_Device/RealTekHD_1 created by bennylp
12:44 PM Audio_Device/Tests edited by bennylp
(diff)
12:42 PM Audio_Device/SoundMAX_2 created by bennylp
12:34 PM Audio_Device/Tests edited by bennylp
(diff)
12:33 PM Audio_Device/SoundMAX_1 edited by bennylp
(diff)
12:31 PM Audio_Device/SoundMAX_1 edited by bennylp
(diff)
12:29 PM Audio_Device/SoundMAX_1 edited by bennylp
(diff)
12:26 PM Audio_Device/SoundMAX_1 created by bennylp
12:25 PM Audio_Device/Tests edited by bennylp
(diff)
12:24 PM Audio_Device/Tests created by bennylp

Feb 23, 2008:

7:42 AM Ticket #494 (Configuration option to use high quality tone generation) created by bennylp
The tone generator heavily depends on the quality of sine wave generation, …
12:24 AM Changeset [1820] by bennylp
Minor PocketPJ GUI tweak

Feb 22, 2008:

11:39 PM Ticket #493 (PocketPJ: a new and better sample application for PocketPC) closed by bennylp
fixed: Initial version in r1819
11:38 PM Changeset [1819] by bennylp
Ticket #493: PocketPC, a new and better sample application for PocketPC
11:36 PM Ticket #493 (PocketPJ: a new and better sample application for PocketPC) created by bennylp
11:11 AM Ticket #7 (Move PJSIP compile time configurations/settings (such as T1, T2 timers) to ...) closed by bennylp
fixed: Thanks Philippe Leuba for the patch Patch applied in r1818 with minor …
11:10 AM Changeset [1818] by bennylp
Ticket #7: Move PJSIP compile time configurations/settings (such as T1, T2 …
9:56 AM Ticket #491 (Crash in TCP/TLS transport when the listener is destroyed (thanks ...) closed by bennylp
fixed: Fixed in r1817: * TCP/TLS transport should not keep the listener …
9:56 AM Changeset [1817] by bennylp
Ticket #491: Crash in TCP/TLS transport when the listener is destroyed
8:36 AM Ticket #492 (Bug in strict route processing when challenged with 401/407 response ...) closed by bennylp
fixed: Fixed in r1816
8:36 AM Changeset [1816] by bennylp
Ticket #492: Bug in strict route processing when challenged with 401/407 …
7:24 AM Ticket #492 (Bug in strict route processing when challenged with 401/407 response ...) created by bennylp
Quoting Klaus email: If I specify an outbound proxy (acc_cfg) as strict …

Feb 21, 2008:

9:52 PM Ticket #491 (Crash in TCP/TLS transport when the listener is destroyed (thanks ...) created by bennylp
The TCP and TLS transport keep pointer reference to its listener. When the …
9:38 PM Ticket #412 (Increase the randomness of guid_simple) closed by bennylp
fixed: In r1815: * randomness increased to 2192 bits * seed random number …
9:36 PM Changeset [1815] by bennylp
Ticket #412: increased randomness of guid_simple.c to 192-bits, and seed …
7:29 PM Ticket #488 (When outgoing request within dialog is responded with 481 or 408, should ...) closed by bennylp
fixed: Done in r1814
7:28 PM Changeset [1814] by bennylp
Ticket #488: When outgoing request within dialog is responded with 481 or …
4:49 PM Ticket #486 (Handle G.722 wong clock rate bug and other codec with inconsistent clock ...) closed by bennylp
fixed: Committed in r1813 with some modifications: * changed samples per frame …
4:46 PM Changeset [1813] by bennylp
Ticket #486: Handle G.722 wong clock rate bug and other codec with …
3:54 PM Changeset [1812] by bennylp
Ticket #485: initial TURN server implementation (not yet compilable)
3:38 PM Changeset [1811] by bennylp
Ticket #485: initial modification in STUN messaging in accordance to …
10:10 AM Ticket #467 (RTP/AVP vs RTP/SAVP negotiation) closed by bennylp
fixed: Committed ticket467.2.patch in r1810 with minor modifications: * changed …
10:08 AM Changeset [1810] by bennylp
Ticket #467: fixed issues with RTP/AVP vs RTP/SAVP negotiation
9:01 AM Ticket #487 (Crash occured when stream port has no transmitter on call using ILBC with ...) closed by bennylp
fixed: Committed in r1809, thanks.
9:00 AM Changeset [1809] by bennylp
Ticket #487: Crash occured when stream port has no transmitter on call …
8:52 AM Ticket #468 (Support for non-looping playback in memory player) closed by bennylp
fixed
8:51 AM Changeset [1808] by bennylp
Ticket #468: Added support for non looping playback in memory player
7:53 AM Changeset [1807] by bennylp
Replaced fprintf/printf with err_report()

Feb 20, 2008:

11:02 AM Ticket #490 (New voice activity detection (VAD)) created by bennylp
9:13 AM FAQ edited by bennylp
(diff)
8:56 AM Ticket #489 (New PJSUA callbacks to notify application when media stream is created and ...) closed by bennylp
fixed: Done in r1806. Thanks Norman Franke for the patch.
8:56 AM Changeset [1806] by bennylp
Ticket #489: New PJSUA callbacks to notify application when media stream …
8:54 AM Ticket #489 (New PJSUA callbacks to notify application when media stream is created and ...) created by bennylp
New callbacks: * on_stream_created(): this callback is called to …

Feb 19, 2008:

8:19 AM Ticket #488 (When outgoing request within dialog is responded with 481 or 408, should ...) created by bennylp
When we send an INFO request in an INVITE initiated dialog and receive …

Feb 18, 2008:

7:32 PM Ticket #487 (Crash occured when stream port has no transmitter on call using ILBC with ...) created by nanang
The crash happens if the stream port is disconnected from the conference …
7:08 PM Ticket #486 (Handle G.722 wong clock rate bug and other codec with inconsistent clock ...) created by nanang
Some codecs need to be treated special: - G.722, because of erroneously …
1:50 PM Changeset [1805] by bennylp
Allow receiving SDP with lines terminated with LF instead of CRLF (thanks …
12:27 PM Changeset [1804] by bennylp
Fixed crash when running SRTP on Win32 app since stderr is undefined …
12:22 PM Changeset [1803] by bennylp
Build error when PJ_IOQUEUE_MAX_HANDLES is declared to large value on …
12:16 PM Changeset [1802] by bennylp
Fixed build error if SRTP is disabled in compile time (thanks Helmut Wolf)

Feb 17, 2008:

11:20 AM Ticket #485 (Support for new TURN draft (TURN-07) and latest ICE draft (ICE-19)) created by bennylp
11:17 AM Ticket #462 (Playback of PCAP file) closed by bennylp
duplicate: See ticket #465
11:10 AM Ticket #484 (Allow to use binary certificate in TLS transport) created by bennylp
It would be nice if PJSIP allows not only to load certificate from a file, …

Feb 15, 2008:

7:20 PM Ticket #483 (Problems with using multiple sound devices (with splitcomb) with PJSUA-LIB) created by bennylp
There have been some problems with using the splitter/combiner port …
5:33 PM Ticket #480 (PJSIP rejects incoming call with m=image in the offer (thanks Thiago)) closed by bennylp
fixed: Committed in r1801, thanks.
5:33 PM Changeset [1801] by bennylp
Ticket #480: PJSIP rejects incoming call with m=image in the offer (thanks …
5:27 PM Ticket #482 (TCP keep-alive packets are corrupting SIP message (thanks Helmut Wolf)) closed by bennylp
fixed: Done in r1800
5:26 PM Changeset [1800] by bennylp
Ticket #482: TCP keep-alive packets are corrupting SIP message (thanks …
5:25 PM Ticket #482 (TCP keep-alive packets are corrupting SIP message (thanks Helmut Wolf)) created by bennylp
TCP keep-alives packets are not dropped by the stack, and although the …
9:29 AM FAQ edited by bennylp
(diff)
9:21 AM FAQ edited by bennylp
Added TLS on MinGW (diff)
8:08 AM Ticket #481 (Default TLS version should be TLSv1 (thanks Klaus Darilion)) closed by bennylp
fixed: Done in r1799
8:08 AM Changeset [1799] by bennylp
Ticket #481: Default TLS version should be TLSv1 (thanks Klaus Darilion)
8:07 AM Ticket #481 (Default TLS version should be TLSv1 (thanks Klaus Darilion)) created by bennylp
TLSv1 should be used as default version when creating SIP TLS transport, …

Feb 14, 2008:

7:47 PM Ticket #478 (Handle duplicated/misordered incoming DTMF packets) closed by bennylp
fixed: Committed in r1798 with some modification, thanks.
7:45 PM Changeset [1798] by bennylp
Ticket #478: Handle duplicated/misordered incoming DTMF packets
7:02 PM Ticket #480 (PJSIP rejects incoming call with m=image in the offer (thanks Thiago)) created by nanang
PJSIP will reject incoming call with unknown media in the media line (for …
5:49 PM Ticket #479 (Allow transport framework to return transport specific info) created by nanang
Currently, media transport info only return socket info, this is …
4:28 PM Ticket #478 (Handle duplicated/misordered incoming DTMF packets) created by nanang
The incoming RFC 2833 DTMF handler does not handle the case where RTP …
3:51 PM Ticket #477 (DTMF digit callback error in Python) closed by bennylp
fixed: Done in r1797. Also added libsrtp dependency on the Python VS6 workspace.
3:50 PM Changeset [1797] by bennylp
Ticket #477: DTMF digit callback error in Python
3:50 PM Ticket #477 (DTMF digit callback error in Python) created by bennylp
The Python DTMF callback wrongly call on_media_state() rather than …
2:49 PM Ticket #476 (Support for receiving multiple codecs in SDP answer) created by bennylp
Currently pjmedia expects than callee sends RTP packet using the codec …
2:38 PM Changeset [1796] by bennylp
Added link to discussions about on_dtmf_callback() concurrency
2:20 PM Changeset [1795] by bennylp
More ticket #469: fix in ioqueue to handle case when key has been …
2:14 PM Changeset [1794] by bennylp
More ticket #469: bail out from on_rx_rtp/rtcp loop if recvfrom returns …
1:40 PM Ticket #475 (GSM codec on Symbian) closed by bennylp
fixed: Done in r1793
1:39 PM Changeset [1793] by bennylp
Ticket #475: ported GSM codec to Symbian OS
1:34 PM Changeset [1792] by bennylp
Implemented ticket #474 for Symbian
9:57 AM Changeset [1791] by bennylp
Handle short files in WAV player
Note: See TracTimeline for information about the timeline view.