Commit Graph

3394 Commits

Author SHA1 Message Date
Anthony Jones
bf71b3c4f9 Bug 1180101 - Skip four bytes when we hit a zero length box; r=jya 2015-08-26 18:12:59 +12:00
Andreas Pehrson
834ece7e25 Bug 1198107 - Destroy VP8 encoder context before re-initing on resolution change to avoid leaking memory. r=jesup
--HG--
extra : transplant_source : Uv%0F7%E5N%C2%21%15b%5CF%12%E9%EE%B2%EE%D9%FB%D5
2015-08-25 16:55:28 +08:00
Jan Gerber
c7721c8d82 Bug 1073319 - Enable AVX2 for libvpx on linux (libvpx). r=rillian
--HG--
extra : rebase_source : f7bd1cad5cab8c51a87be437923c63c2483dac3e
2015-07-16 02:38:00 -07:00
Jan Gerber
1db34826a1 Bug 1073319 - Enable AVX2 for libvpx on linux (update.py). r=rillian
--HG--
extra : rebase_source : f3b1532895359fbe6ed2fd7fa7283fd1e6c815d8
2015-07-16 02:37:00 -07:00
Jacek Caban
8f93a52f18 Bug 1197282 - Include <atomic> in VideoDecoder.h. r=cpearce 2015-08-25 12:40:20 +02:00
Matthew Gregan
bd4557d750 Bug 1197049 - Retain stream volume across device changes. r=padenot 2015-08-21 14:46:22 +12:00
Ethan Hugg
afda08fc27 Bug 1191301 - Re-enable the use of media.navigator.video.use_tmmbr pref. r=bwc 2015-08-24 09:31:38 -07:00
Matthew Gregan
da63388633 Bug 1136360 - Report actual number of frames written to ReleaseBuffer. r=jesup 2015-08-21 18:09:34 +12:00
Matthew Gregan
7de719b648 Bug 1136360 - Account for stream and device latency in stream position calculation. r=jesup 2015-08-21 13:53:21 +12:00
Matthew Gregan
cea13e8bed Backed out 2 changesets (bug 1136360)
Backed out changeset 004f6db9c2dd (bug 1136360)
Backed out changeset 9b568fb8d447 (bug 1136360)
2015-08-24 13:25:57 +12:00
Matthew Gregan
52219f5e5c Bug 1136360 - Report actual number of frames written to ReleaseBuffer. r=jesup 2015-08-21 18:09:34 +12:00
Matthew Gregan
5faa47f98e Bug 1136360 - Account for stream and device latency in stream position calculation. r=jesup 2015-08-21 13:53:21 +12:00
Nils Ohlmeier [:drno]
26ca64d0a9 Bug 1142964 - Fix ICE tiebreaker on Windows. r=bwc
--HG--
extra : transplant_source : %7E%1E%92%E1%EC%C4_9%5B%7B%92xV%90%B6e%835%0D%23
2015-08-21 10:35:28 -07:00
Byron Campen [:bwc]
ed6e1ea6f6 Bug 1193495 - Part 2: Maintain clones of supported codecs for each level, and do necessary checking to prevent payload-type clashes. r=mt
--HG--
extra : transplant_source : 5%1Bz%17%E5%3B%C0Y%CA%BC%C3%0D%DE%93%E8%D4%EC%BA3r
2015-08-12 10:00:28 -05:00
Byron Campen [:bwc]
6f6e632428 Bug 1193495 - Part 1: Test case. r=mt
--HG--
extra : transplant_source : %0D%D9%F1%FC%B5%17%E0e%3B%17%0F%2Bvp%12%BE%D1%09l%16
2015-08-12 10:00:28 -05:00
Jan Gerber
8237145d30 Bug 1192226 - Apply libvpx size limit. r=rillian 2015-08-21 12:01:41 +02:00
Jan Gerber
0cdc2ac683 Bug 1192226 - Enable libvpx size limit in update.py. r=rillian
Bounds match those in VideoUtils.h.
2015-08-08 09:28:52 +02:00
Nils Ohlmeier [:drno]
2e1a4f0fea Bug 1194385 - Add new unit tests which demonstrate the current behavior. r=bwc
--HG--
extra : rebase_source : 9098108ce25f030714138f7be1e10c2285aa6eb1
2015-08-13 12:05:40 -07:00
Nils Ohlmeier [:drno]
8d4c72128b Bug 1194019 - New defaults for gather tests. r=bwc
--HG--
extra : rebase_source : 8c94cd28e969aa540cf103eca74fe50b8e1995dd
2015-08-14 14:52:06 -07:00
Chris Peterson
95c97656a8 Bug 1195186 - Build media/pocketsphinx in unified mode. r=kdavis 2015-08-18 00:13:49 -07:00
Jean-Yves Avenard
1a98b5d4e0 Bug 1196398: [mp4] Do not allocate memory spanning across ftyp and moov atom. r=kentuckyfriedtakahe
A typical non-fragmented mp4 would have the ftyp atom located at the beginning of the mp4 and the moov at the end. We would to calculate the location of the metadata by spanning the byte range of the two atoms.
As such, we would typically allocate an amount of memory equivalent to the size of the mp4.

Instead we now reconstruct the metadata to only have the ftyp and moov atoms contiguously.
2015-08-21 15:35:31 +10:00
Jean-Yves Avenard
af3e91f01a Revert "Bug 1196398: [mp4] Do not allocate memory spanning across ftyp and moov atom. r=kentuckyfriedtakahe"
This reverts commit 73156610be5f
2015-08-21 14:48:23 +10:00
Jean-Yves Avenard
600ae4f2bf Bug 1196398: [mp4] Do not allocate memory spanning across ftyp and moov atom. r=kentuckyfriedtakahe
A typical non-fragmented mp4 would have the ftyp atom located at the beginning of the mp4 and the moov at the end. We would to calculate the location of the metadata by spanning the byte range of the two atoms.
As such, we would typically allocate an amount of memory equivalent to the size of the mp4.

Instead we now reconstruct the metadata to only have the ftyp and moov atoms contiguously.
2015-08-21 13:10:34 +10:00
Wes Kocher
b40f92546f Backed out 2 changesets (bug 1192226) for vpx_config bustage
Backed out changeset 92d172a5d403 (bug 1192226)
Backed out changeset 4e7adb955673 (bug 1192226)
2015-08-20 11:19:03 -07:00
Jan Gerber
06a7ff715e Bug 1192226 - Apply libvpx size limit. r=rillian 2015-08-08 09:34:39 +02:00
Jan Gerber
49a21989b2 Bug 1192226 - Enable libvpx size limit in update.py. r=rillian
Limits match those in VideoUtils.h.
2015-08-08 09:28:52 +02:00
Jean-Yves Avenard
e42ca2d177 Bug 1181651: Replace use of stagefright::Vector with nsTArray. r=kentuckyfriedtakahe 2015-08-20 20:54:59 +10:00
Sebastian Hengst
944b95cdee Backed out changeset 966aa9c1ca25 (bug 1181651) for build bustage. r=backout on a CLOSED TREE 2015-08-20 09:28:55 +02:00
Jean-Yves Avenard
20ed0b8c7c Bug 1181651: Replace use of stagefright::Vector with nsTArray. r=kentuckyfriedtakahe 2015-08-20 16:57:07 +10:00
Matthew Gregan
c953f0aca1 Bug 1195058 - Handle pa_context_new returning NULL in OOM situations. r=padenot 2015-08-18 12:34:15 +12:00
Edwin Flores
970d4a0c2b Bug 1195939 - Flush decode queue on Reset() in gmp-clearkey - r=cpearce 2015-08-19 15:06:36 -07:00
Ryan VanderMeulen
10835ff78b Backed out changeset 18f274867bcc (bug 1195939) for Windows EME test failures.
CLOSED TREE
2015-08-18 23:06:55 -04:00
Edwin Flores
1c281c3c56 Bug 1195939 - Flush decode queue on Reset() in gmp-clearkey - r=cpearce
--HG--
extra : rebase_source : 50f989518611a723342193837fac89a9c2d9e14f
2015-08-18 13:48:38 -07:00
Matthew Gregan
63b1424f7e Bug 1195061 - Correctly restore audio hardware mix format after attempting to use an alternative format. r=padenot 2015-08-18 10:59:14 +12:00
Mike Hommey
33527c7e40 Bug 1194905 - Build libvpx neon code without -mthumb and -mfloat-abi=softfp. r=mshal
-mfloat-abi=softfp is hardcoding an ABI that may not match everything else
in Gecko, which is bound to fail. It's also unrelated to building NEON code.
-mthumb is also unrelated to building NEON code, and should be left as it
is for everything else.
Now, interestingly, we also have a VPX_ASFLAGS variable that just contains
the right things instead of hardcoding them in the moz.build, so just use
that instead.
2015-08-18 08:09:14 +09:00
Jean-Yves Avenard
186b001e2e Bug 1194708: Properly find SPS NAL in some H264 streams. r=kentuckyfriedtakahe
With some encoding, we didn't detect the SPS. With AVC3 stream it would cause playback to never start on mac or linux (ffmpeg)
2015-08-17 10:28:37 +10:00
Chris Peterson
c98b4c65b1 Bug 1194951 - Suppress warnings in third-party code: pocketsphinx and sphinxbase. r=kdavis 2015-08-10 23:01:25 -07:00
Nils Ohlmeier [:drno]
fe493d428a Bug 1037618 - Relax candidate verification for TCP. r=bwc
--HG--
extra : rebase_source : 0cd791b27dde34b3a0bc6aeecf4c098211e7fbae
2015-08-10 16:31:12 -07:00
David Major
9397fd91e0 Bug 1193546: Fix the way that webrtc requests warnings-as-errors. r=glandium f=jesup
--HG--
extra : rebase_source : c9a574c2e10a40d5e7464f6145a764549f804145
2015-08-13 11:58:01 -04:00
Randell Jesup
efb47b11df Bug 1189040: add a whitelist for network interfaces to use with ICE/webrtc r=ekr 2015-08-12 19:45:36 -04:00
EKR
e92a0a38f4 Bug 1189041 - Add option to only gather addresses for default route. r=bwc 2015-08-12 10:53:15 -04:00
Randell Jesup
48627b966e Bug 1188407: switch packetloss to a rate from total-packets-lost-per-update r=jib 2015-08-11 15:15:06 -04:00
Randell Jesup
7edae5b348 Bug 1188376: Split Hello Telemetry values from general WebRTC r=jib 2015-08-11 15:15:06 -04:00
Byron Campen [:bwc]
938df396a8 Bug 1173601 - Add a=simulcast support. r=mt
--HG--
extra : rebase_source : 9f4697a1924a92ac25766e9e5f971f676bd526b4
2015-08-06 14:59:55 -05:00
Glenn Randers-Pehrson
9fe5fa0e72 Bug 1192522 - Update libpng/LICENSE to mention two files that are MPL-licensed. r=jrmuizel
--HG--
extra : rebase_source : 766ed23368ab46018e7c178752a8ff9bc509f592
2015-08-08 08:04:00 -04:00
Ryan VanderMeulen
c0f04387c3 Merge fx-team to m-c. a=merge 2015-08-11 10:52:41 -04:00
Chris Peterson
0683fe9207 Bug 1192587 - Build media/libav in unified mode. r=qDot 2015-08-06 19:39:26 -07:00
Chris Peterson
1ac0c01da7 Bug 1192586 - Suppress warnings in third-party library media/libav. r=qDot 2015-08-02 22:31:00 -07:00
Mark Capella
b865699f7f Bug 1191872 - Move annotations to org.mozilla.gecko.annotation package, r=jchen
--HG--
rename : mobile/android/base/mozglue/JNITarget.java => mobile/android/base/annotation/JNITarget.java
rename : mobile/android/base/mozglue/RobocopTarget.java => mobile/android/base/annotation/RobocopTarget.java
rename : mobile/android/base/mozglue/WebRTCJNITarget.java => mobile/android/base/annotation/WebRTCJNITarget.java
2015-08-10 19:19:51 -04:00
Paul Kerr [:pkerr]
32c999755c Bug 1188970: Fix usage of forward slash in constructing webrtc trace file path. r=rjesup
Replaced the chain of logic that attempted to determine the location of the temporary
directory with a call to nsDirectoryService.
Use nsIFile object to append file name to path in an OS independent manner.
2015-08-07 13:46:55 -07:00
Jan-Ivar Bruaroey
8e674f7ed3 Bug 1187775 - skip host and reflexive ICE candidates if relay-only. r=bwc
--HG--
extra : transplant_source : d%FBJ%BB%8B%BA%C8S%EE%C8%EB%8E%C3%9B%E9wA%8A%A8%86
2015-08-05 08:22:55 -04:00
Jan-Ivar Bruaroey
3a173c04fa Bug 1187775 - Plumb RTCConfiguration.iceTransportPolicy down to NrIceCtx. r=smaug, r=bwc
--HG--
extra : transplant_source : %8D%E4%F6%CCY%D4M%9E8%21%2A%13Wz%88%D4d%02v4
2015-07-30 10:11:52 -04:00
Jean-Yves Avenard
8c8e3b2a70 Bug 1190258: P1. Use getter to access MediaRawData mData and mSize member. r=cpearce 2015-08-06 18:48:44 +10:00
Nils Ohlmeier [:drno]
453ddf7598 Bug 1189961 - added DNS AAAA convertion to nICEr transport addr. r=bwc
--HG--
extra : transplant_source : %10-Ak%B73AZ%D2%EA%CA%7B%98%40%EB%2A%EA%B7%0B%C2
2015-07-31 18:18:02 -07:00
Byron Campen [:bwc]
bfdeba6014 Bug 1173599 - a=imageattr support. r=mt
--HG--
extra : transplant_source : Tem%D2%C5%8B%DF%F5%21%A9%80%97%D9U%D4%7E0%ED%F4E
2015-07-30 14:45:51 -05:00
Aryeh Gregor
80ea0a3e53 Bug 1190823 - Move OwningNonNull.h to xpcom/base/; r=froydnj
--HG--
rename : dom/bindings/OwningNonNull.h => xpcom/base/OwningNonNull.h
2015-08-05 15:28:27 +03:00
Andre Natal
012af21e63 Bug 1180113 - Introducing g2p algorithm inside pocketsphinx to allow out of dictionary words to be added to grammars. r=smaug
Signed-off-by: Andre Natal <anatal@gmail.com>
2015-08-05 00:33:00 +02:00
Nils Ohlmeier [:drno]
928cc0e5e5 Bug 1190720 - only check IP version for STUN server IPs. r=bwc
--HG--
extra : transplant_source : %90%D2%EA%A8%91%18%2C%3A%87Fz%EF%09%DE%28%11%22%B5%94Q
2015-08-03 23:38:36 -07:00
Nils Ohlmeier [:drno]
62de0a691c Bug 1190615 - Skip non-UDP STUN servers for UDP sockets. r=bwc
CLOSED TREE

--HG--
extra : amend_source : c1d99bee2b35bd585e0b8905f14e3fd935e26e72
extra : transplant_source : %A8f%FC%B78D%823%F57%8B%91%CF%BF%C8%EC%84%DA4%B5
2015-08-03 16:26:20 -07:00
EKR
1fe487642d Bug 1178349 - Enable ice_unittests on desktop linux on CI. r=bwc
CLOSED TREE

--HG--
extra : amend_source : 03121b8bd5dce3777cd1dea62fbb260501831afc
extra : transplant_source : %C4V%D5%7E%17h%DE%9F%EB%95%C7%3B%A1%AE%E5%B6%DE%D1A%F6
2015-08-04 06:07:55 -07:00
Jean-Yves Avenard
fdad9271bf Bug 1185115 - Ensure we have enough memory to allocate required capacity. r=kentuckyfriedtakahe
CLOSED TREE

--HG--
extra : amend_source : d3104ef74195446962f52d1328b75f62484bf3f1
2015-08-04 13:43:17 -04:00
Byron Campen [:bwc]
f017a69bcd Bug 1142105 - Part 3: Extract more SDP-related functionality out of JsepSessionImpl, and some readability improvements. r=mt
--HG--
extra : rebase_source : ecf05d79d34920fdf6aa773332cd53cd736cfea8
2015-07-29 13:10:24 -05:00
Ryan VanderMeulen
ff5375610d Backed out changeset 62561970f611 (bug 1178349) for Android crashes.
CLOSED TREE
2015-08-03 15:34:17 -04:00
EKR
80bdca1457 Bug 1178349 - Re-enable ice_unittest on Linux. r=drno
--HG--
extra : rebase_source : 5375d2e560a8952063dd1508a19552c22110c553
2015-08-01 07:22:12 -07:00
EKR
8ccbc8476f Bug 1177921 - Fix typo in STUN server name. r=drno
--HG--
extra : rebase_source : 89ba451be66a180fc9d024a261d5928b0b8b0ddd
2015-08-01 06:03:35 -07:00
Nils Ohlmeier [:drno]
ec3ba81d1e Bug 1189198 - don't start STUN transactions with a protocol mis-match. r=mtseng
--HG--
extra : rebase_source : 9c51c1395dc99a19ae32ba79a54f8129f2166ae6
2015-07-31 11:23:26 -07:00
Makoto Kato
50e851b877 Bug 830801 - Part 2. Remove NOMINMAX define from moz.build. r=mshal 2015-08-03 10:07:09 +09:00
JW Wang
48d9740581 Bug 1189866 - revert code that accidentally got into bug 1187817 patch 5. r=me. 2015-08-01 13:58:39 +08:00
JW Wang
17e42272cd Bug 1187817. Part 5 - assert some code in the audio thread and don't enter the monitor. r=kinetik. 2015-07-31 13:26:06 +08:00
JW Wang
5988d4015d Bug 1189197 - enqueue a silent frame to kick off the buffer queue callbacks. r=kinetik. 2015-07-31 13:25:59 +08:00
Jean-Yves Avenard
b2e8611aaa Bug 1183196: [MSE] P2. Do not ignore tracks other than the first one. r=kentuckyfriedtakahe
When used in the MP4ContainerParser, the MoofParser set the trackID as 0 ; indicating that all tracks are to be parsed. However it set later the trackID to the first one found, causing to ignore all following tracks.
2015-07-30 20:42:44 +10:00
Nils Ohlmeier [:drno]
910b8d14f3 Bug 1187472 - only log UDP and TCP candidate gathering failures. r=bwc
--HG--
extra : rebase_source : 44b6b6f2c99c93695ee9711ffdb9caf05dddffe2
2015-07-24 14:01:11 -07:00
Wes Kocher
1ca8b1de87 Merge b2ginbound to central, a=merge 2015-07-29 20:19:12 -07:00
Jessica Jong
11d3d9a5a3 Bug 1167132 - Part 15: [NetworkManager] Move network information into a separate interface (NetworkInterfaceList). r=echen 2015-07-29 02:16:00 -04:00
Byron Campen [:bwc]
6c5f643b27 Bug 1142105 - Part 2: Move some stuff from JsepCodecDescription into /sdp r=mt
--HG--
extra : rebase_source : 068ff0ea6c8c2e373a6e1b7f703a2a62b98a5cbe
2015-07-23 16:55:08 -05:00
Bobby Holley
97b9240b34 Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj 2015-07-29 10:44:59 -07:00
Ehsan Akhgari
e36f5e1a38 Bug 1188212 - Fix more constructors in media; r=cpearce 2015-07-28 08:53:33 -04:00
Glenn Randers-Pehrson
a39ceed4a2 Bug 1186977 - Update embedded libpng to version 1.6.18. r=jmuizelaar 2015-07-26 20:26:00 +02:00
Gian-Carlo Pascutto
f6d0d49348 Bug 1186657. r=jesup,nchen 2015-07-28 08:55:06 +02:00
Jean-Yves Avenard
7cb5a3857f Bug 1186149: P1. Allow both first sample flags flag and sample flags simultaneously. r=kentuckyfriedtakahe 2015-07-28 14:11:04 +10:00
Jean-Yves Avenard
89e5d96fae Bug 1186718 - Ensure ESDS have valid size. r=kentuckyfriedtakahe
--HG--
extra : rebase_source : 7040d05738365d164bb0891130d04a16daa273cc
2015-07-27 16:25:17 -04:00
Jean-Yves Avenard
e0264d1f80 Bug 1185115 - Ensure we have enough memory to allocate required capacity. r=kentuckyfriedtakahe
--HG--
extra : rebase_source : 1a83126a3081c4d2b5d5a1d900b3a8a65c5016dd
2015-07-27 11:27:34 -04:00
Ryan VanderMeulen
4f09769d88 Merge fx-team to m-c. a=merge 2015-07-27 10:39:37 -04:00
Wes Kocher
8f5503c1c0 Merge m-c to fx-team, a=merge 2015-07-24 13:48:31 -07:00
Wes Kocher
c835884065 Merge b2ginbound to central, a=merge 2015-07-24 13:47:05 -07:00
Qiang Lu
b3eee8c12c Bug 1178069 - Check devices capability before enable use of vp8 hardware acceleration using android.media.MediaCodecList and android.media.MediaCodecInfo r=jrmuizel
--HG--
extra : amend_source : f7d209e2dd0bdb9a67c563b5bd2d51da4af56ba8
extra : histedit_source : d8226f7240c5d19d9d2f08f9fc07a83e158505a2%2Cde0d48144261c643fcb23c0f7756906aeded1708
2015-07-24 12:45:55 -07:00
Xidorn Quan
8af3ab8b39 Bug 1186784 followup - Fix bustage on CLOSED TREE
--HG--
extra : source : f960cf576fabd6347a513a8c38f27d4150b416a9
2015-07-25 00:08:40 +10:00
Xidorn Quan
219d742057 Bug 1186784 - Disable snprintf definition in libav on VC2015. r=glandium
--HG--
extra : source : 03d4ebfe2c987137c006e18ca7787d246d3826a9
2015-07-24 23:06:50 +10:00
Nils Ohlmeier [:drno]
0012786ede Bug 1186339 - skip STUN/TURN servers with non-matching IP versions for TCP sockets. r=bwc
--HG--
extra : transplant_source : %3E%0E8%D9%D8%A4%03J%E42%AE%0C%3D%C0o%84%D7%40dl
2015-07-22 10:54:11 -07:00
Nils Ohlmeier [:drno]
05aa617f65 Bug 1185198 - use port 9 for TCP active candidates. r=bwc
--HG--
extra : transplant_source : %A1E%BEA%E6%60%E6%BE%12%CD%E6%04%F0%0C%DF%FB/%D2%28%80
2015-07-22 16:51:38 -07:00
Jessica Jong
1b76db0a26 Bug 1185802 - Part 2: support fota apn type (impl). r=hsinyi
--HG--
extra : commitid : AFRfgLTfJL1
2015-07-24 10:41:15 +08:00
Nathan Froyd
7f2b10d2e9 Bug 1186040 - use XPCOM refcounting macros instead of mozilla::RefCounted in WebrtcGlobalParent.h; r=jesup 2015-07-21 11:26:56 -04:00
Alfredo Yang
8393a2233e Bug 1163486 - Remove MP4Reader. r=jya 2015-07-21 02:48:00 +02:00
Carsten "Tomcat" Book
de3872af29 Backed out changeset 1704ea727e81 (bug 1163486) for at least b2g bustage 2015-07-21 08:42:54 +02:00
Alfredo Yang
23c919b20e Bug 1163486 - Remove MP4Reader. r=jya 2015-07-20 19:25:00 +02:00
Wes Kocher
9d698325fd Merge m-c to inbound, a=merge 2015-07-24 13:47:28 -07:00
Byron Campen [:bwc]
4671f1556a Bug 1182289: Clean up dispatches in WebrtcGmpVideoEncoder/Decoder. r=jesup, a=abillings
--HG--
extra : rebase_source : 0dd07ceb55830a323e17d7ca86794c07cc5ba375
2015-07-14 09:20:28 -05:00
Jan-Ivar Bruaroey
c49c2b6556 Bug 1184426 - Unprefix RTCIceCandidatePairStats.priority (formerly mozPriority). r=bwc, r=smaug
--HG--
extra : transplant_source : %5C%F5Yk%F3%90A%99%89%0F%0AW%CB-%1333FTQ
2015-07-15 22:43:37 -04:00
Andreas Pehrson
b9055642ac Bug 1173654 - Part 4: Add detailed logging and asserts to MediaPipeline::ProcessVideoChunk. r=bwc
--HG--
extra : transplant_source : %24Z%EB%0B%AEB%B5y%F5%AB%7C%D0%00%AE%BDl%E0M%FD%B3
2015-07-16 09:30:39 +08:00
Andreas Pehrson
249cffa06e Bug 1173654 - Part 3: Attempt to GetDataSurface() and convert if sending pure I420 fails. r=bwc, r=jesup
--HG--
extra : transplant_source : %FB%3C%FEV%BA%D0N%D7%402%DB%A4%B6j%FBD%08%1F%B4%3F
2015-07-16 09:30:23 +08:00