Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Go to file
Kaku Kuo c79eb6f91f Bug 1290371 - handle files with audio and video tracks but no samples at all; r=jya
So, we have 4 boolean variables and here is the truth table.
Case 1, 2, 3, 4, 7, 8, 10 and 12 are not possible to happen.

Then, the remaining cases could be clustered into three categories:
(1) Case 5, 9 and 13: no sample is demuxed at all, return 0.
(2) Case 6, 11, 14 and 15: either audio or video is able to be demuxed, return the known value.
(3) Case 15: both audio and video are demuxed, return the minimum of the values.


For simplifying the logic, I will initialize the audioStartTime and videoStartTime
to be INFINITY if we don't have the first-demuxed sample, otherwise, initialize
them to be the real first-demuxed sample's time.

Then, the final calculation will be:
(1) Case 5, 9 and 13: the minimum of two INFINITY values is still INFINITY, return 0.
(2) Case 6, 11, 14 and 15: return the minimum of one real first-demuxed-time and the INFINITY.
(3) Case 15: return the minimum of two real first-demuxed-time values.

Case   HasAudio   HasVideo   HasAudioSample   HasVideoSample    ExpectedResult
---------------------------------------------------------------------------------------------------
1         F          F             F                 F          not possible
2         F          F             F                 T          not possible
3         F          F             T                 F          not possible
4         F          F             T                 T          not possible
---------------------------------------------------------------------------------------------------
5         F          T             F                 F          return 0
6         F          T             F                 T          return video sample
7         F          T             T                 F          not possible
8         F          T             T                 T          not possible
---------------------------------------------------------------------------------------------------
9         T          F             F                 F          return 0
10        T          F             F                 T          not possible
11        T          F             T                 F          return audio sample
12        T          F             T                 T          not possible
---------------------------------------------------------------------------------------------------
13        T          T             F                 F          return 0
14        T          T             F                 T          return videoSample
15        T          T             T                 F          return audioSample
16        T          T             T                 T          return min(auidoSample, videoSample)

MozReview-Commit-ID: ANsYDth7slJ

--HG--
extra : transplant_source : %DAj%1A%EC%19%82%7B%B3%05%FE%21%04a%16%9A%9F%18x1%95
2016-08-03 16:51:29 +08:00
accessible Bug 1290217: Ensure input is removed after test before next one starts in browser_treeupdate_doc.js r=yzen 2016-08-03 12:39:04 -04:00
addon-sdk Bug 1288440 P4 Test that sdk/window/events does not leak existing windows. r=gabor 2016-07-22 06:26:49 -07:00
b2g Bug 1284674 - Remove NUWA r=cyu 2016-08-02 14:54:00 +02:00
browser Bug 1272754 - Disable "Open in new non-e10s window" from non-default containers. r=mconley 2016-08-03 19:32:00 +02:00
build Bug 1291229 - Fix typo for moving Java bindings to mozilla::java namespace. r=jchen 2016-08-02 17:50:05 +08:00
caps Bug 709991 - Fire onerror instead of throwing on network errors for async XHRs. r=bz 2016-07-30 00:24:56 -04:00
chrome Bug 1286877 - do not set c-basic-offset for python-mode; r=gps 2016-07-14 10:16:42 -06:00
config Bug 1255628 - Replace and/or remove some graphics-related calls in AndroidBridge with NDK equivalents r=jchen 2016-08-04 09:23:34 -05:00
db/sqlite3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps 2016-07-14 10:16:42 -06:00
devtools merge mozilla-inbound to mozilla-central a=merge 2016-08-04 15:55:50 +02:00
docshell Bug 1289890 - Change nsCOMArray::ReplaceObjectAt() return type from "bool" to "void", since it always succeeds. r=froyndnj 2016-08-02 16:20:00 +02:00
dom Bug 1290371 - handle files with audio and video tracks but no samples at all; r=jya 2016-08-03 16:51:29 +08:00
editor Bug 1195722 - Follow-up to keep the accessible caret disabled on some reftests that require it. r=me on a CLOSED TREE 2016-08-03 15:59:04 -04:00
embedding Bug 1289757 - [Uninitialized scalar field] In constructor nsWebBrowserPersist(). r=mconley 2016-07-27 05:12:00 +02:00
extensions Bug 1285885 - Turn off PROMPT_ACTION permission hack for non-b2g builds. r=amarchesini 2016-08-01 14:45:41 +02:00
gfx Bug 1255628 - Remove AndroidNativeWindow, as we can use the NDK functions directly now r=rbarker 2016-08-04 09:23:34 -05:00
gradle/wrapper Bug 1263390 - Use Gradle 2.10 and Android Gradle plugin 2.0. r=mcomella 2016-04-19 20:01:38 +02:00
hal merge mozilla-inbound to mozilla-central a=merge 2016-07-22 11:58:02 +02:00
image merge mozilla-inbound to mozilla-central a=merge 2016-08-04 15:55:50 +02:00
intl Bug 1284406 part 3 - Export ICU headers in include/unicode. r=glandium 2016-07-20 15:00:13 +10:00
ipc Bug 1284674 - Remove NUWA r=cyu 2016-08-02 14:54:00 +02:00
js Merge mozilla-central to mozilla-inbound 2016-08-04 16:07:29 +02:00
layout Bug 1273365 - Check IsForGenerateGlyphMask before doing mask. r=jfkthame 2016-07-18 03:09:00 +02:00
media Bug 1201363 - MediaStreamVideoSink for MediaPipelineTransmit case. r=jesup 2016-05-31 14:59:13 +08:00
memory Bug 1284674 - Remove NUWA r=cyu 2016-08-02 14:54:00 +02:00
mfbt Bug 1197324 - add format-string checking attribute to snprintf_literal. r=froydnj 2016-08-03 14:37:31 +02:00
mobile merge mozilla-inbound to mozilla-central a=merge 2016-08-04 15:55:50 +02:00
modules Backed out 3 changesets (bug 1213990) for problems in browser_ext_pageAction_context.js a=bustage CLOSED TREE 2016-08-03 13:49:50 -07:00
mozglue merge mozilla-inbound to mozilla-central a=merge 2016-08-04 15:55:50 +02:00
netwerk merge mozilla-inbound to mozilla-central a=merge 2016-08-04 15:55:50 +02:00
nsprpub Bug 1257250 - pr_getnameforidentity bounds check and locking r=ted.mielczarek 2016-03-15 17:44:17 -04:00
other-licenses Bug 1286877 - do not set c-basic-offset for python-mode; r=gps 2016-07-14 10:16:42 -06:00
parser Bug 1280584 - implement cloneWithNewRef and thereby make hash/ref links use a simple unified codepath in the IO service, r=valentin 2016-07-26 23:38:46 +01:00
probes Bug 1286877 - do not set c-basic-offset for python-mode; r=gps 2016-07-14 10:16:42 -06:00
python Backed out 7 changesets (bug 1231764) for apparently causing linux debug wpt bustage 2016-08-03 16:27:06 -07:00
rdf Bug 1277106 - Part 2: Expand MOZ_UTF16() strings to u"" string literals. r=Waldo 2016-07-20 22:03:25 -07:00
release/docker Bug 1266039 - Generate release promotion specific docker images as a part of release promotion process r=Callek a=release DONTBUILD 2016-04-20 17:03:09 -04:00
security merge mozilla-inbound to mozilla-central a=merge 2016-08-04 15:55:50 +02:00
services Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2016-08-01 07:09:05 -07:00
startupcache Bug 1286877 - do not set c-basic-offset for python-mode; r=gps 2016-07-14 10:16:42 -06:00
storage Bug 1287739: Always set 'len' variable in storage test, r=mak 2016-07-20 16:12:31 +02:00
taskcluster merge fx-team to mozilla-central a=merge 2016-08-04 15:54:27 +02:00
testing Bug 1283023 - Implement the step attribute for <input type=month>. r=smaug 2016-08-03 02:54:00 +02:00
toolkit merge mozilla-inbound to mozilla-central a=merge 2016-08-04 15:55:50 +02:00
tools merge mozilla-inbound to mozilla-central a=merge 2016-08-04 15:55:50 +02:00
uriloader Bug 373621 - Make mime-type of PDF not overridable. r=bz 2016-07-28 20:20:42 +10:00
view Bug 1286877 - do not set c-basic-offset for python-mode; r=gps 2016-07-14 10:16:42 -06:00
widget Bug 1286482 - use gdk_display_get_default() instead of mIsX11Display attribute, r=karlt 2016-08-01 01:52:00 +02:00
xpcom merge mozilla-inbound to mozilla-central a=merge 2016-08-04 15:55:50 +02:00
xpfe Bug 1277106 - Part 2: Expand MOZ_UTF16() strings to u"" string literals. r=Waldo 2016-07-20 22:03:25 -07:00
.clang-format
.clang-format-ignore
.eslintignore Bug 1287827 - Part 2. Build changes for removing Loop. r=glandium 2016-07-30 08:48:29 +01:00
.eslintrc Bug 1245916: Unify eslint global discovery rules. r=pbrosset 2016-02-05 11:37:50 -08:00
.flake8 Bug 1283129 - Flake8 linter is accidentally linting some eslint related .lint files, r=maja_zf 2016-06-29 10:37:27 -04:00
.gdbinit bug 985566 - add some pretty printers to .gdbinit r=froydnj r=glandium 2016-06-02 13:33:07 -04:00
.gdbinit_python bug 985566 - add some pretty printers to .gdbinit r=froydnj r=glandium 2016-06-02 13:33:07 -04:00
.gitignore Bug 1287827 - Part 2. Build changes for removing Loop. r=glandium 2016-07-30 08:48:29 +01:00
.hgignore Bug 1287827 - Part 2. Build changes for removing Loop. r=glandium 2016-07-30 08:48:29 +01:00
.hgtags No bug - Tagging mozilla-central 465d150bc8be5bbf9f02a8607d4552b6a5e1697c with FIREFOX_AURORA_50_BASE a=release DONTBUILD CLOSED TREE 2016-08-01 07:05:25 -07:00
.lldbinit Bug 1254128 - Make the Mozilla .lldbinit use the full path for topsrcdir. r=sparky 2016-03-01 16:36:08 +00:00
.taskcluster.yml Bug 1291070 - Tag and use decision image 0.1.4; r=dustin 2016-08-01 18:09:09 -07:00
.ycm_extra_conf.py Bug 1283340: python: fix .ycm_extra_conf.py for python 3 r=gps 2016-06-29 18:15:46 -07:00
aclocal.m4 merge mozilla-inbound to mozilla-central a=merge 2016-07-27 16:35:44 +02:00
Android.mk
AUTHORS
build.gradle Bug 1268453 - Use Android Gradle plugin 2.1. r=mcomella 2016-04-29 14:48:43 +02:00
client.mk Bug 1278415 - Ensure MOZ_CURRENT_PROJECT is set when running make directly in objdir. r=gps 2016-06-16 11:43:30 +09:00
client.py
CLOBBER Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2016-08-01 07:09:05 -07:00
configure.in Bug 1250294 - Make configure a Python script that invokes the old configure.sh. r=ted 2016-02-25 07:22:33 +09:00
configure.py Bug 1285860 - Add python/mozbuild at beginning of sys.path; r=glandium 2016-07-11 10:42:11 -07:00
GNUmakefile
gradle.properties Bug 1218370 - Use Gradle daemon in srcdir builds. r=me 2015-10-26 09:28:14 -07:00
gradlew Bug 1123416 - Part 1: Make topsrcdir a valid Gradle project root. r=sebastian 2015-10-21 15:07:55 -07:00
LEGAL
LICENSE
mach Bug 1279020 - [mach] Follow symlinked mach binary when searching for a srcdir, r=gps 2016-06-09 17:20:02 -04:00
Makefile.in Bug 1275111 - Move artifact download/install into its own tier; r=glandium 2016-06-01 13:48:53 -04:00
moz.build Bug 1286877 - do not set c-basic-offset for python-mode; r=gps 2016-07-14 10:16:42 -06:00
moz.configure Bug 1290044 - Moved NSIS configure to Python. r=glandium 2016-07-28 17:39:24 -07:00
mozilla-config.h.in Bug 1231314 - Turn mozilla-config.h and js-confdefs.h into CONFIGURE_DEFINE_FILES. r=gps 2015-12-15 08:06:11 +09:00
old-configure.in merge fx-team to mozilla-central a=merge 2016-08-03 17:01:16 +02:00
README.txt No bug, Update README.txt for ftp changes, r=bustage-check CLOSED TREE 2015-08-30 21:53:27 +12:00
settings.gradle Bug 1233882 - Fold base Gradle project into app Gradle project. r=sebastian,mcomella 2016-02-17 19:25:54 -08:00
test.mozbuild Bug 1229233 - Add a (incomplete) end-to-end build test. r=gps 2015-12-01 13:57:52 +09:00

An explanation of the Mozilla Source Code Directory Structure and links to
project pages with documentation can be found at:

    https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure

For information on how to build Mozilla from the source code, see:

    http://developer.mozilla.org/en/docs/Build_Documentation

To have your bug fix / feature added to Mozilla, you should create a patch and
submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at:

    http://developer.mozilla.org/en/docs/Creating_a_patch
    http://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree

If you have a question about developing Mozilla, and can't find the solution
on http://developer.mozilla.org, you can try asking your question in a
mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups
are accessible on Google Groups, or news.mozilla.org with a NNTP reader.]

You can download nightly development builds from the Mozilla FTP server.
Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy. Firefox nightlies, for example, can be found at:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    http://nightly.mozilla.org/