Skip to content

Commit ca6aa27

Browse files
committed
perf(dash-wasm): trim only parsed text values
1 parent 2717573 commit ca6aa27

1 file changed

Lines changed: 17 additions & 9 deletions

File tree

  • src/parsers/manifest/dash/wasm-parser/rs/processor

‎src/parsers/manifest/dash/wasm-parser/rs/processor/mod.rs‎

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ impl MPDProcessor {
2626
pub fn new(reader: BufReader<MPDReader>) -> Self {
2727
let mut reader = Reader::from_reader(reader);
2828
reader.expand_empty_elements(false);
29-
reader.trim_text(true);
29+
reader.trim_text(false);
3030
reader.check_end_names(false);
3131
MPDProcessor {
3232
reader,
@@ -349,8 +349,10 @@ impl MPDProcessor {
349349

350350
loop {
351351
match self.read_next_event() {
352-
Ok(Event::Text(t)) => {
353-
if t.len() > 0 {
352+
Ok(Event::Text(mut t)) => {
353+
t.inplace_trim_start();
354+
t.inplace_trim_end();
355+
if !t.is_empty() {
354356
match t.unescape() {
355357
Ok(unescaped) => AttributeName::Location.report(unescaped),
356358
Err(err) => ParsingError::from(err).report_err(),
@@ -387,8 +389,10 @@ impl MPDProcessor {
387389

388390
loop {
389391
match self.read_next_event() {
390-
Ok(Event::Text(t)) => {
391-
if t.len() > 0 {
392+
Ok(Event::Text(mut t)) => {
393+
t.inplace_trim_start();
394+
t.inplace_trim_end();
395+
if !t.is_empty() {
392396
match t.unescape() {
393397
Ok(unescaped) => AttributeName::Text.report(unescaped),
394398
Err(err) => ParsingError::from(err).report_err(),
@@ -425,8 +429,10 @@ impl MPDProcessor {
425429

426430
loop {
427431
match self.read_next_event() {
428-
Ok(Event::Text(t)) => {
429-
if t.len() > 0 {
432+
Ok(Event::Text(mut t)) => {
433+
t.inplace_trim_start();
434+
t.inplace_trim_end();
435+
if !t.is_empty() {
430436
match t.unescape() {
431437
Ok(unescaped) => AttributeName::Text.report(unescaped),
432438
Err(err) => ParsingError::from(err).report_err(),
@@ -463,8 +469,10 @@ impl MPDProcessor {
463469

464470
loop {
465471
match self.read_next_event() {
466-
Ok(Event::Text(t)) => {
467-
if t.len() > 0 {
472+
Ok(Event::Text(mut t)) => {
473+
t.inplace_trim_start();
474+
t.inplace_trim_end();
475+
if !t.is_empty() {
468476
match t.unescape() {
469477
Ok(unescaped) =>
470478
// TODO parse from base64 here?

0 commit comments

Comments
 (0)